Hola, tengo una base de datos que tiene una columna que se llama Nota y otra columna que es el Nombre. Quiero hacer un ranking y seleccionar los 5 nombres con las notas más altas.
Gracias
| |||
Coger x valores mas altos Hola, tengo una base de datos que tiene una columna que se llama Nota y otra columna que es el Nombre. Quiero hacer un ranking y seleccionar los 5 nombres con las notas más altas. Gracias |
| |||
Respuesta: Coger x valores mas altos Podría decirte que con esto estaría: pero no estaría diciéndote la verdad, pues puede ocurrir que 6 alumnos tuvieran la misma nota más alta y estarías dejando uno fuera.
Código MySQL:
Con esto, creo, encontrarás los alumnos que tienen las 5 notas más altas, sean los que sean.Ver original Pero, ojo, si dos alumnos tienen el mismo nombre y la misma nota más alta, uno de ellos no aparecerá. Por eso sería mejor hacer el group by por nota e idalumno Última edición por jurena; 25/08/2010 a las 04:14 |
| |||
Respuesta: Coger x valores mas altos Umm entiendo, en cualquier caso siempre existira el problema de dejar a alguien fuera si comparten nota 6 alumnos diferentes, ya que yo solo voy a mostrar a 5 de ellos no? |
| |||
Respuesta: Coger x valores mas altos Aledis, la segunda consulta te ofrecerá todos los alumnos que tengan las 5 primeras notas y aquellos que tengan la misma nota que el último de esos 5. No serán siempre 5, sino unas veces 5 y otras más, pero no dejarás a nadie fuera si tiene la misma nota que el 5. De eso se trata, ¿no? Si vas a mostrar 5 de ellos siempre, te bastará con al primera consulta, aunque no sea justa, pues ocultará a otros que tienen esa misma nota. |
Etiquetas: |