Не могу окунуться в квадрат для таблицы лидеров в приложении facebook, которое я разрабатываю. Идея заключается в том, что список предложений друзей друзей передается в предложении WHERE (т.е. 2,1,3,4 - это идентификатор друзей someones), поэтому таблица лидеров - это список друзей друзей, включая самих себя.
Я хочу верхний балл для каждого fb_id и хочу его в порядке убывания. Я все еще получаю более низкие оценки, чем максимум для определенного fb_id.
SELECT fb_id, score FROM scores WHERE fb_id IN (2,1,3,4) GROUP BY fb_id ORDER BY score DESC;
Вы можете сделать:
SELECT fb_id, MAX(score) FROM scores WHERE fb_id IN (2,1,3,4) GROUP BY fb_id
Это должно сделать это!
Вам нужно использовать MAX, и вам не потребуется предложение ORDER BY:
SELECT fb_id,
MAX(score) AS 'MaxScore'
FROM scores
WHERE fb_id IN (2,1,3,4)
GROUP BY fb_id