Retroceder   Foros del Web > Programación para sitios web > Bases de Datos

Respuesta
 
Herramientas Desplegado
Antiguo 24-jun-2008, 04:14   #1 (permalink)
layker no se puede cailificar en este momento
 
Fecha de Ingreso: noviembre-2007
Mensajes: 195
Obtener fila en mysql

Hola tengo una tabla para un ranking tipo

id | usuario | puntos

la ordeno tipo select * from tabla order by puntos desc

y quiero k al indicarle un usuario m devuelva la fila en la que esta, osea el puesto del ranking... se puede hacer de alguna manera?' un saludo
layker está desconectado   Responder Citando
Antiguo 24-jun-2008, 05:14   #2 (permalink)
quimfv tiene algunos puntos positivos de karma
 
Fecha de Ingreso: marzo-2008
Mensajes: 442
Respuesta: Obtener fila en mysql

No se como resolver los empates pero....


Código:
select count(*) as ranking form tabla
          where puntos>=(Select puntos form tabla where nombre='m')
Sirve?

Quim
quimfv está desconectado   Responder Citando
Antiguo 24-jun-2008, 05:31   #3 (permalink)
jurena tiene algunos puntos positivos de karma
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 790
Respuesta: Obtener fila en mysql

Son cosas que se hacen mejor con programación, pero si te empeñas en hacerlo con MySQL.

select * from (select a.equipo, a.puntuacion, (select 1 + count(*)from nombretabla b where b.puntuacion > a.puntuacion) RANK from nombretabla as a) as x order by x.RANK

La idea está sacada de:
http://www.onlamp.com/pub/a/mysql/20...ql.html?page=4

En caso de empate, numera los dos con el mismo número, pero el siguiente salta. Si hay empate en la tercera posición, aparecen 3 y 3, pero el siguiente aparece como 5.

Explicación: comparas los datos de la tabla primera con los de la segunda, que son la misma tabla; si el b.puntuacion es el mayor de todos los de la tabla b, el resultado de la comparación con el a.puntuacion mayor de la tabla a, da un count(*) = 0, al que, tras sumarle 1, da 1, y lo coloca en la primera posición; el segundo daría un count de 1, +1=2; y así sucesivamente con los demás.

Última edición por jurena; 24-jun-2008 a las 07:53.
jurena está desconectado   Responder Citando
Antiguo 24-jun-2008, 09:07   #4 (permalink)
seyko ha deshabilitado el karma
 
Fecha de Ingreso: febrero-2007
Mensajes: 1.133
Respuesta: Obtener fila en mysql

muy interesante jurena, gracias por el aporte!

layker, parece que es algo que vas a utilizar mucho, puedes crear una vista y lanzar las consultas contra ella.

Salu2
seyko está desconectado   Responder Citando
Respuesta

No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 19:25.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93