选择最高值的行对于每个另一列值?

时间:2015-03-23 12:50:05

标签: mysql

我一直在寻找,但我找到的答案都是关于整个表格的给定列中的MAX
我需要为另一列的每个值选择最高(最多4个)到第二个表中。 最简单的表示是简单的...

Scores_Stored
ID, UserID, Score, date, etc
1,   4,      325,   ....
2,   5,      276,   ....
3,   5,      341,   ....

在这个例子中,我需要最高的分数"每个UserID的有价值行
我尝试过使用别名加入表格的各种方法,但是我总是遇到排序最高的5个整体的东西,或者继续排序相同的选择。

我应该在睡了一会儿后再试一次,但我真的想完成这个。

2 个答案:

答案 0 :(得分:0)

这应该是你要找的东西:

SELECT UserID, MAX(Score) AS Score
FROM Scores_Stored
GROUP BY UserID
ORDER BY Score
LIMIT 0, 5

答案 1 :(得分:0)

这应该有效

select max(score) as max_score,user_id from score_Stored  group by user_id;