0

我正在使用 MySQL,并且我有一个包含玩家分数的表,单个玩家可以记录多个分数。我试图找到使用 MySQL ORDER BY 关键字对玩家进行排名的最佳方法。

现在我正在做的是:

SELECT DISTINCT t.userName FROM (SELECT userName, score FROM scoreTable ORDER BY score DESC) t;

为了使用它对其进行排名,我假设子查询的顺序由主查询维护。

这个假设正确吗?到目前为止,我所有的测试都正确地维护了订单。是否存在不起作用的情况?

4

2 回答 2

2

以下内容对您有用吗?

SELECT userName, MAX(score) AS max_score 
FROM scoreTable GROUP BY username 
ORDER BY max_score DESC
于 2012-11-11T06:10:44.223 回答
1

我不相信这是有保证的行为,但通常是的。ORDER BY如果您希望以这种方式排序最终结果,最好在外部查询上使用。

于 2012-11-11T06:09:51.900 回答