Frage zur Sortierung und Erzeugung eines Rankings

  • Themenstarter Themenstarter Kristian-
  • Beginndatum Beginndatum
K

Kristian-

Hallo!
Ich hätte da mal zwei Fragen bei denen mein mäßiges MySQL-Können nicht mehr weiterhilft :-(

1.) Wie gebe ich von einer Tabelle nur die letzten x Zeilen aus, die ich dann anshcließend DESC/ASC-mäßig auch noch sortieren kann? Die Zeilenzahl ist nicht konstant/wächst also weiter. Ich denke mal mit LIMIT in Verknüpfung mit ASC/DESC ist schon ganz gut, oder?

2.) Ich habe eine weitere Tabelle alá:

id, name
1, peter
2, uwe
3, peter
4, horst
5, uwe
6, peter

Ich möchte nun ein Ranking (also DESC) nach Namen erstellen, so:

Platz 1: peter (3mal)
Platz 2: uwe (2mal)
Platz 3: .....

Die Anzahl sollte er netterweise auch ausgeben und nicht mit PHP in iwelchen Schleifen ausrechnen. Es wäre sonst auch ganz nett, wenn es eine feine (deutsche - muss aber nicht) tutorialähnliche MySQL-Seite genannt werden könnte? Vielen Dank schonmal im vorraus
 
1.) Wie gebe ich von einer Tabelle nur die letzten x Zeilen aus, die ich dann anshcließend DESC/ASC-mäßig auch noch sortieren kann? Die Zeilenzahl ist nicht konstant/wächst also weiter. Ich denke mal mit LIMIT in Verknüpfung mit ASC/DESC ist schon ganz gut, oder?
„nur die letzten x Zeilen“ – bezüglich welcher Spalte? Eine Tabelle hat keine inhärente Ordnung! Also sortierst du absteigend oder aufsteigend nach der gewünschten Spalte, begrenzt danach das Resultat mit LIMIT und – bist fertig. Oder möchtest du etwas komplizierteres bewerkstelligen? Die Struktur deiner Tabelle dürfte bei der Problemlösung hilfreich sein. ;)

2.) Ich habe eine weitere Tabelle alá:

id, name
1, peter
2, uwe
3, peter
4, horst
5, uwe
6, peter

Ich möchte nun ein Ranking (also DESC) nach Namen erstellen, so:

Platz 1: peter (3mal)
Platz 2: uwe (2mal)
Platz 3: .....

Die Anzahl sollte er netterweise auch ausgeben und nicht mit PHP in iwelchen Schleifen ausrechnen. Es wäre sonst auch ganz nett, wenn es eine feine (deutsche - muss aber nicht) tutorialähnliche MySQL-Seite genannt werden könnte? Vielen Dank schonmal im vorraus
Das kannst du mit GROUP BY in Verbindung mit COUNT bewerkstelligen.
 
Zurück