Ver Mensaje Individual
  #13 (permalink)  
Antiguo 04/03/2011, 03:17
reivaj01
 
Fecha de Ingreso: abril-2008
Mensajes: 93
Antigüedad: 16 años, 1 mes
Puntos: 10
Respuesta: Agrupar por nombre en Top 10 en PHP y MySQL

Esto creo que debería funcionar:

Código:
SELECT	puntaje.idfacebook, puntaje.nombre, puntaje.puntos, puntaje.nivel
  FROM	puntaje, 
		(SELECT idfacebook, nombre, MAX(puntos) AS mayor
		   FROM puntaje
		  GROUP BY 1,2) AS maximo
 WHERE	puntaje.idfacebook = maximo.idfacebook
   AND	puntaje.nombre = maximo.nombre
   AND	puntaje.puntos = maximo.mayor
 ORDER	BY puntaje.puntos DESC LIMIT 0,10
si un idfacebook se corresponde con un nombre, deberías quitarlo para optimizar la ejecución de la siguiente forma:

Código:
SELECT	puntaje.idfacebook, puntaje.nombre, puntaje.puntos, puntaje.nivel
  FROM	puntaje, 
		(SELECT idfacebook, MAX(puntos) AS mayor
		   FROM puntaje
		  GROUP BY 1,2) AS maximo
 WHERE	puntaje.idfacebook = maximo.idfacebook
   AND	puntaje.puntos = maximo.mayor
 ORDER	BY puntaje.puntos DESC LIMIT 0,10
Espero que funcione