Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Sistema de pontuação alta do meu jogo para iphone


Veja como consultar o banco de dados para a classificação do jogador udid 1 :
SELECT COUNT(*) AS rank
FROM tablename
WHERE score > (SELECT score FROM tablename WHERE udid = 1)

Estou assumindo que uma pontuação mais alta é melhor e você está armazenando apenas a pontuação mais alta para cada jogador.

Com um índice na score e udid , isso deve ser bastante rápido.

O que a consulta faz é contar o número de usuários que têm uma pontuação maior que a do usuário selecionado.

Se uma pontuação mais baixa for melhor, basta alterá-la para:
SELECT COUNT(*) AS rank
FROM tablename
WHERE score < (SELECT score FROM tablename WHERE udid = 1)

Que conta o número de jogadores com uma pontuação mais baixa.

Leia tudo sobre índices MySQL .