Mysql
 sql >> Database >  >> RDS >> Mysql

Sistema di punteggio elevato dal mio gioco per iPhone

Ecco come interrogare il database per la classifica del giocatore udid 1 :

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

Suppongo che un punteggio più alto sia migliore e che tu memorizzi solo il punteggio più alto per ogni giocatore.

Con un indice su score e udid , dovrebbe essere abbastanza veloce.

Quello che fa la query è contare il numero di utenti che hanno un punteggio maggiore rispetto all'utente selezionato.

Se un punteggio più basso è migliore, cambialo semplicemente in questo:

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

Che conta il numero di giocatori con un punteggio più basso.

Leggi tutto sugli Indici MySQL .