Zde je návod, jak se dotázat databáze na hodnost hráče udid 1
:
SELECT COUNT(*) AS rank
FROM tablename
WHERE score > (SELECT score FROM tablename WHERE udid = 1)
Předpokládám, že vyšší skóre je lepší a u každého hráče ukládáte pouze nejvyšší skóre.
S indexem na score
a udid
, to by mělo být docela rychlé.
Dotaz dělá to, že spočítá počet uživatelů, kteří mají vyšší skóre než vybraný uživatel.
Pokud je nižší skóre lepší, jednoduše jej změňte na toto:
SELECT COUNT(*) AS rank
FROM tablename
WHERE score < (SELECT score FROM tablename WHERE udid = 1)
Což počítá počet hráčů s nižším skóre.
Přečtěte si vše o indexech MySQL .