Mysql
 sql >> Base de données >  >> RDS >> Mysql

Système de score élevé de mon jeu iphone

Voici comment interroger la base de données pour le rang du joueur udid 1 :

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

Je suppose qu'un score plus élevé est meilleur et que vous ne stockez que le score le plus élevé pour chaque joueur.

Avec un index sur score et udid , cela devrait être assez rapide.

La requête compte le nombre d'utilisateurs qui ont un score supérieur à celui de l'utilisateur sélectionné.

Si un score inférieur est meilleur, remplacez-le simplement par ceci :

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

Qui compte le nombre de joueurs avec un score inférieur.

Lisez tout sur index MySQL .