データベースがこのクエリを実行するとき、最初にScores
から選択します 、name = '$name'
によるフィルタリング 。
次に、すべての行に対して、サブクエリを実行します:
(
SELECT COUNT(*)
FROM Scores ui
WHERE (ui.score, -ui.ts) >= (uo.score, -uo.ts)
) AS rank
これは、Scores
のすべての行について 検索された名前で、Scores
にあるレコードの数を検索します ここで、(ui.score, -ui.ts)
現在の行の値以上です。
お役に立てば幸いです...