SQL Abfrageergebnis gruppieren, höchsten wert anzeigen, sortieren?

Moretto Delucci

Lt. Junior Grade
Registriert
Feb. 2010
Beiträge
378
Hallo!

Meine aktuelle Abfrage lautet
Code:
SELECT Name,Score FROM highscore ORDER BY Score DESC LIMIT 10

Jetzt würde ich aber gerne nur den höchsten Wert auslesen, den es bei "Peter" gibt und den höchsten den es bei "Hans" gibt, und diese sollen dann absteigend sortiert werden.

Wie müsste meine Abfrage lauten? Ich bekomme nur errors raus.
 
Code:
SELECT Name,Max(Score) FROM highscore GROUP BY Name ORDER BY Score DESC LIMIT 10

so müsste es gehen.


Auch wen ich mir dessen bewusst bin, dass es sich um eine Hausaufgabe handelt ^^
 
Ne, es ist für meine Highscoretabelle von einem kleinen Spielchen auf meiner Website =P

Allerdings klappt das so nicht ganz. Wie gebe ich das richtig aus? Irgendwie kommen keine Scoredatensätze dabei raus, da das Feld leerbleibt. Rausholen mache ich mit der Schleife:
Code:
while($row = mysql_fetch_object($ergebnis)){
und dann
Code:
echo "<td>$mZahler</td><td>$row->Name</td> <td>$row->Score €</td></tr> ";
 
Lass den SQL erstmal in PHPmyAdmin laufen.

Wie ist das Feld Score definiert?
 
Da musste hinter MAX(Score) ein AS Score anfügen, da das Feld sonst MAX(Score) statt Score heißt.

Also
Code:
SELECT Name,Max(Score) AS Score FROM highscore GROUP BY Name ORDER BY Score DESC LIMIT 10
 
Zusammen habt ihr mein Problem gelöst :) Danke!
 
Zurück
Oben