我制作了一款游戏,我想存储用户的高分。
例如,我有一个名为scores
的表,其中包含这些记录......
ID | Name | Score
1 | Grace | 90
2 | Grace | 100
3 | Ben | 70
4 | Kim | 80
5 | Grace | 74
6 | Grace | 50
7 | Ben | 80
8 | Honey | 23
9 | Babe | 85
10 | Ben | 120
我想显示播放器的名称(没有重复)并将其从最高分到最低分。
我试过了......
SELECT DISTINCT Name FROM scores ORDER BY Score DESC
但它始终不起作用。它给了我这个输出......
Grace
Babe
Kim
Ben
Honey
从表中,Ben得分最高。从这个输出,格雷斯是第一个列出,但她没有得到最高分。
我应该放置什么Sqlite代码才能显示这些预期的输出?
Ben
Grace
Babe
Kim
Honey
答案 0 :(得分:0)
查询首先按分数对所有行进行排序,然后删除一些随机行,直到没有重复项为止。
在排序之前,您必须获得每位玩家的最高分:
SELECT Name,
MAX(Score)
FROM scores
GROUP BY Name
ORDER BY MAX(Score) DESC