【发布时间】:2012-11-11 06:04:48
【问题描述】:
我正在使用 MySQL,并且我有一个保存玩家分数的表,单个玩家可以记录多个分数。我正在尝试找到使用 MySQL ORDER BY 关键字对玩家进行排名的最佳方式。
我现在正在做的是:
SELECT DISTINCT t.userName FROM (SELECT userName, score FROM scoreTable ORDER BY score DESC) t;
为了使用它对其进行排名,我假设子查询的顺序由主查询维护。
这个假设正确吗?到目前为止,我所有的测试都正确地维护了订单。有没有不工作的情况?
【问题讨论】:
-
我认为不会有问题。还有一件事,如果您使用查询“SELECT DISTINCT(userName) FROM scoreTable ORDER BY score DESC”,那么就不会有问题了。为什么您在上面使用子查询
-
如果我使用您建议的查询,它似乎会采用每个用户名的第一个实例并使用该分数进行排序。
标签: mysql sql-order-by distinct ranking