在sql中分组问题

时间:2010-08-12 14:02:56

标签: sql mysql

不能在我正在开发的Facebook应用程序的排行榜部分中找到我的头。这个想法是,在WHERE子句中传递了一个人民朋友列表(即2,1,3,4将是某些朋友的ID),因此排行榜是包括他们自己在内的某些朋友的列表。

我想要每个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;

2 个答案:

答案 0 :(得分:2)

你可以做:

SELECT fb_id, MAX(score) FROM scores WHERE fb_id IN (2,1,3,4) GROUP BY fb_id

应该这样做!

答案 1 :(得分:0)

您需要使用MAX,并且不需要ORDER BY子句:

SELECT fb_id, 
MAX(score) AS 'MaxScore'
FROM scores 
WHERE fb_id IN (2,1,3,4) 
GROUP BY fb_id