我正在使用MySQL,并且有一个表格得分的表,单人游戏能够记录多个分数。我正在尝试通过关键字来找到使用MySQL顺序对玩家进行排名的最佳方法。
现在我在做的是:
SELECT DISTINCT t.userName FROM (SELECT userName, score FROM scoreTable ORDER BY score DESC) t;
要将其进行排名,我假设从主要查询中维护了子查询的顺序。
这个假设正确吗?到目前为止,我所有的测试都正确地保持了订单。是否有这种情况无法正常工作?
以下功能适合您?
SELECT userName, MAX(score) AS max_score
FROM scoreTable GROUP BY username
ORDER BY max_score DESC
我不认为这是保证的行为,但通常是。如果要以这种方式订购的最终结果,则最好将ORDER BY
放在外部查询上。