Ver Mensaje Individual
  #2 (permalink)  
Antiguo 25/08/2010, 03:07
jurena
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 7 meses
Puntos: 300
Respuesta: Coger x valores mas altos

Podría decirte que con esto estaría:
Código MySQL:
Ver original
  1. SELECT nombre, nota FROM tutabla ORDER BY nota DESC LIMIT 5
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:
Ver original
  1. SELECT tutabla.nombre, tutabla.nota FROM tutabla INNER JOIN (SELECT nota FROM `tutabla` order by nota desc limit 5)t1 ON tutabla.nota = t1.nota GROUP BY nota, nombre order by tutabla.nota desc, tutabla.nombre
Con esto, creo, encontrarás los alumnos que tienen las 5 notas más altas, sean los que sean.
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