MySQL是否维护您查询的表的顺序

时间:2012-11-11 06:04:49

标签: mysql sql-order-by distinct ranking

我正在使用MySQL,我有一个表可以保存玩家得分,一个玩家可以记录多个分数。我正在尝试找到使用MySQL ORDER BY关键字对玩家进行排名的最佳方法。

现在我正在做的是:

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

要使用它进行排名,我假设主查询维护子查询的顺序。

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

2 个答案:

答案 0 :(得分:2)

下面的内容对您有用吗?

SELECT userName, MAX(score) AS max_score 
FROM scoreTable GROUP BY username 
ORDER BY max_score DESC

答案 1 :(得分:1)

我不相信这是行为保证,但一般都是。如果您希望以这种方式排序最终结果,那么在外部查询上使用ORDER BY可能会更好。