sql >> Database >  >> RDS >> Mysql

Hoog scoresysteem van mijn iPhone-spel

Hier leest u hoe u de database kunt opvragen voor de rangorde voor speler udid 1 :

SELECT COUNT(*) AS rank
FROM tablename
WHERE score > (SELECT score FROM tablename WHERE udid = 1)

Ik neem aan dat een hogere score beter is en dat je alleen de hoogste score voor elke speler opslaat.

Met een index op score en udid , dit zou behoorlijk snel moeten gaan.

Wat de zoekopdracht doet, is het aantal gebruikers tellen dat een hogere score heeft dan de geselecteerde gebruiker.

Als een lagere score beter is, verander deze dan gewoon in dit:

SELECT COUNT(*) AS rank
FROM tablename
WHERE score < (SELECT score FROM tablename WHERE udid = 1)

Die het aantal spelers met een lagere score telt.

Lees alles over MySQL-indexen .



  1. Oracle:Null- en niet-null-rijen tellen

  2. WAARDEN Verklaring in MySQL

  3. PostgreSQL-databaseservice

  4. TreeView ImageCombo Vervolgkeuzelijst Toegangsmenu