![Antiguo](http://static.forosdelweb.com/fdwtheme/images/statusicon/post_old.gif)
09/10/2008, 02:10
|
| | Fecha de Ingreso: octubre-2004
Mensajes: 2.627
Antigüedad: 20 años, 3 meses Puntos: 48 | |
Respuesta: Saber en que posicion del sql esta tal persona .. ¿POr que la persona h esta en la posicion 10? Porque hay 9 que tienen una puntuacion mayor que la suya.
SELECT count(*) FROM players WHERE puntos>puntos_persona
A esta consulta le pasas en puntos_persona los puntos de la persona de la que quieres saber la posicion. A lo que devuelve la consulta le sumas 1.
En caso de empate a puntos aparecen con la misma posicion, y la siguiente persona con menos puntos con la posicion que ocuparia si los empatados no estarian empatados. Por ejemplo, la persona h y la i tienen 10 puntos y estan situados en la posicion 11, la persona j tiene 9 puntos y esta en la posicion 13.
Si quieres que cada empatado tenga una posicion unica, debes usar un criterio de desempate (orden alfabetico, mejor resultado en casa, mayor diferencia de goles) y crear una consulta que cuente las personas con la misma puntuacion pero mejores en el criterio de desempate, para luego añadirla a la consulta anterior. |