SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 19.04.2014 10:19:53

Марк
Активист
Зарегистрирован: 31.05.2010
Сообщений: 157

Подсчитываем рейтинг пользователей по постам и комментариям

Здравствуйте, необходимо подсчитать рейтинг на основе лайков к добавленным записям и комментариям.

Делаю примерно так, для постов и комментариев:

UPDATE users u, (SELECT user, sum(`like`) AS sum FROM post WHERE (`like`>15 OR `like`<0) GROUP BY user) p SET u.rating=p.sum WHERE u.id=p.user


UPDATE users u, (SELECT user, sum(`like`) AS sum FROM comment WHERE (`like`>3 OR `like`<0) GROUP BY user) p SET u.rating=p.sum WHERE u.id=p.user


Проблемка собственно в том что новый запрос перезапишет предыдущий(

Отредактированно Марк (19.04.2014 10:20:23)

Неактивен

 

#2 19.04.2014 14:13:11

rgbeast
Администратор
MySQL Authorized Developer and DBA
Откуда: Москва
Зарегистрирован: 21.01.2007
Сообщений: 3878

Re: Подсчитываем рейтинг пользователей по постам и комментариям

Попробуйте так:


UPDATE users u SET u.rating=0;
UPDATE users u, (SELECT user, sum(`like`) AS sum FROM post WHERE (`like`>15 OR `like`<0) GROUP BY user) p SET u.rating=u.rating+p.sum WHERE u.id=p.user;
UPDATE users u, (SELECT user, sum(`like`) AS sum FROM comment WHERE (`like`>3 OR `like`<0) GROUP BY user) p SET u.rating=u.rating+p.sum WHERE u.id=p.user;

Неактивен

 

#3 19.04.2014 14:41:24

Марк
Активист
Зарегистрирован: 31.05.2010
Сообщений: 157

Re: Подсчитываем рейтинг пользователей по постам и комментариям

Хех) Благодарю)

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson