powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Расчет рейтинга у пользователей
5 сообщений из 5, страница 1 из 1
Расчет рейтинга у пользователей
    #38456714
Zhazhah
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте, пытаюсь назначить рейтинг пользователям, по таким параметрам.

Кол-во лайков к посту пользователя.

Рейтинг необходимо рассчитать не от 0 до 10, а по типу ТИЦ т.е без ограничений. Исходя из рейтинга юзера появляются дополнительные возможности на сайте, пример рейтинг +200 появилась фича, +300 еще одна.
Вот так я сделал жалкое подобие того что хочу:

Код: sql
1.
UPDATE users u, (SELECT user, SUM(vote) AS sum FROM post WHERE (vote>15 OR vote<0) GROUP BY user) p SET u.rating=p.sum/20 WHERE u.id=p.user;



Но минус в том что, если сейчас среднее кол-во лайков 60 все норм, а если будет 1000 то пользователь наберет ретинга +200 добавив всего один пост.
...
Рейтинг: 0 / 0
Расчет рейтинга у пользователей
    #38457289
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А у вас что, лайки привязываются к пользователю, а не к постам? Тогда захем вообще учитывать кол-во постов, да ещё и таким образом?
...
Рейтинг: 0 / 0
Расчет рейтинга у пользователей
    #38457291
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хотя поглядел на запрос, вроде к постам привязаны. Тогда не понимаю, как добавление одного поста поднимет сумму голосов на (200*20)=4000. Давайте DDL, объясняйте, как оно работает и чего конкретно хочется.
...
Рейтинг: 0 / 0
Расчет рейтинга у пользователей
    #38462667
Zhazhah
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сделал вот так sign(x)*pow(log(abs(x)),2)
...
Рейтинг: 0 / 0
Расчет рейтинга у пользователей
    #38462811
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zhazhah,

Код: sql
1.
2.
3.
UPDATE users u
 set  u.rating = (SELECT SUM(vote) - SUM(vote) AS sum FROM post WHERE (vote>15 OR vote<0) and user = u.user) 
;



и всего делов ....

Все будут щасливы.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Расчет рейтинга у пользователей
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]