在 Sqlite 中使用 Distinct 对数据进行排序
Sorting Data With Distinct in Sqlite
我创建了一个游戏,我想存储用户的最高分。
例如,我有一个名为 scores
的 table,其中包含这些记录...
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
在table中,Ben得分最高。从这个输出中,Grace 是第一个列出的,但她没有获得最高分。
我应该输入什么 Sqlite 代码才能显示这些预期的输出?
Ben
Grace
Babe
Kim
Honey
查询首先按分数对所有行进行排序,然后删除一些随机行,直到没有重复项为止。
在排序之前,您必须获得每个玩家的最大分数:
SELECT Name,
MAX(Score)
FROM scores
GROUP BY Name
ORDER BY MAX(Score) DESC
我创建了一个游戏,我想存储用户的最高分。
例如,我有一个名为 scores
的 table,其中包含这些记录...
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
在table中,Ben得分最高。从这个输出中,Grace 是第一个列出的,但她没有获得最高分。
我应该输入什么 Sqlite 代码才能显示这些预期的输出?
Ben
Grace
Babe
Kim
Honey
查询首先按分数对所有行进行排序,然后删除一些随机行,直到没有重复项为止。
在排序之前,您必须获得每个玩家的最大分数:
SELECT Name,
MAX(Score)
FROM scores
GROUP BY Name
ORDER BY MAX(Score) DESC