Tomar los 10 mas altos (SQL)

Iniciado por MauroMasciar, 26 Agosto 2016, 18:39 PM

0 Miembros y 1 Visitante están viendo este tema.

MauroMasciar

Buenas.
Quería pedir ayuda con esto, ya he investigado y hecho varias consultas pero no me ha salido. Es un proyecto personal que tengo, un juego.

Resulta que cada vez que un jugador obtiene puntos, guarda en una base de datos, el nombre de jugador y los puntos que hizo. Yo necesito tomar los 10 jugadores con su puntaje mas alto, pero sin repetir el jugador.

Esta seria la tabla en cuestión:


Como ven guarda cada puntaje, y quiero crear un top 10 sobre los que hicieron mas puntos.
Hasta ahora lo que me salió es esto, pero no toma los puntajes mas altos

Código (sql) [Seleccionar]
SELECT `Nombre`, `Puntos` FROM `drift` GROUP BY `Nombre` ORDER BY `Puntos` DESC LIMIT 0 , 10



Gracias.
Tutto ha oceani da attraversare mentre hanno il coraggio di farlo Avventato? Ma sanno sogni di limiti

Twitter: @MauroMasciar

[u]nsigned

Por lo que veo un mismo jugador puede tener varios puntos repartidos en varios registros? En ese caso tenes que usar SUM para sumar todos los puntos de cada jugador, sino solo te taera el puntaje mas alto de entre todos los registro de ese jugador, me explico?

No tengo un MySQL a mano, pero deberia ser algoa si:

Código (sql) [Seleccionar]
SELECT `Nombre`, SUM(`Puntos`) as puntos_total FROM `drift` GROUP BY `Nombre` ORDER BY SUM(`Puntos`) DESC LIMIT 0 , 10





No hay atajo ante la duda, el misterio se hace aquí...
Se hace carne en cada uno, el misterio es existir!

MauroMasciar

#2
Solucionado. No con eso pero ya.
Gracias.
Tutto ha oceani da attraversare mentre hanno il coraggio di farlo Avventato? Ma sanno sogni di limiti

Twitter: @MauroMasciar