sql >> Base de Datos >  >> RDS >> Mysql

Sistema de puntaje alto de mi juego de iphone

Aquí se explica cómo consultar la base de datos para el rango del jugador udid 1 :

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

Supongo que una puntuación más alta es mejor y solo estás almacenando la puntuación más alta para cada jugador.

Con un índice en score y udid , esto debería ser bastante rápido.

Lo que hace la consulta es contar la cantidad de usuarios que tienen una puntuación mayor que el usuario seleccionado.

Si una puntuación más baja es mejor, simplemente cámbiela a esto:

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

Que cuenta el número de jugadores con una puntuación más baja.

Lea todo sobre Índices MySQL .