我有一张这样的表
id UserID score create_time
7 002YEXEKF9 120000 2013-06-06 14:04:52
8 0008FV2FN5 120 2013-06-06 15:10:39
9 0008FV2FN5 130 2013-06-06 16:57:27
10 DT5LP0V8AH 1200 2013-06-06 15:13:44
11 DT5LP0V8AH 1400 2013-06-06 16:31:03
我将此查询用于选择数据:
SELECT userid, score FROM high_score ORDER BY score DESC
结果:
userid score
002YEXEKF9 120000
DT5LP0V8AH 1400
DT5LP0V8AH 1200
0008FV2FN5 130
0008FV2FN5 120
正如你可以看到user_id DT5LP0V8AH,0008FV2FN5有两个分数。我不想这个。我希望显示用户的最高分。 我只想要这样的结果:
userid score
002YEXEKF9 120000
DT5LP0V8AH 1400
0008FV2FN5 130
任何人都可以修复sql吗?。我真的很感激。
答案 0 :(得分:2)
我认为您可以使用MAX()
获得最高分和GROUP BY
汇总功能,以userid
分组
SELECT userid, MAX(score)
FROM high_score
GROUP BY userid
ORDER BY score DESC
答案 1 :(得分:0)
您必须使用MAX
,GROUP BY
来获得您想要的结果。
SELECT userid, MAX(score)
FROM high_score
GROUP BY userid ORDER BY score DESC
在MAX上找到更多信息。
上查找更多信息我希望它能奏效。
答案 2 :(得分:0)
这应该有效(未经测试)。
SELECT userid, MAX(score) max_score FROM high_score GROUP BY userid ORDER BY max_score DESC