0

私はMySQLを使用しており、プレーヤーのスコアを保持するテーブルがあり、1人のプレーヤーが複数のスコアをログに記録できます。MySQLORDERBYキーワードを使用してプレーヤーをランク付けするための最良の方法を見つけようとしています。

今私がしていることは:

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 に答える