sql >> Databáze >  >> RDS >> Mysql

High score systém z mé hry na iphone

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 .



  1. Záporný posun limitu v mysql

  2. Jednoduché používání funkcí DATEADD, DATEDIFF a DATEPART T-SQL

  3. Jaké oprávnění potřebuje uživatel MySQL k vytvoření databáze?

  4. Použití klíčového slova SQL v názvu tabulky nebo sloupce