Wenn die Datenbank diese Abfrage ausführt, wählt sie zuerst aus Scores
, Filterung nach name = '$name'
.
Dann führt es für jede Zeile die Unterabfrage aus:
(
SELECT COUNT(*)
FROM Scores ui
WHERE (ui.score, -ui.ts) >= (uo.score, -uo.ts)
) AS rank
Das bedeutet für jede Reihe von Scores
Mit dem gesuchten Namen wird gesucht, wie viele Datensätze sich in Scores
befinden wobei (ui.score, -ui.ts)
größer oder gleich den Werten der aktuellen Zeile ist.
Ich hoffe Ihnen geholfen zu haben...