Mit Hilfe der Order By-Klausel kann man Ergebnisse von Select-Abfragen nach bestimmten Spalten aufsteigend bzw. absteigend sortieren.

Wir haben wieder unsere Personentabelle und wollen diese aufsteigend nach dem Alter ausgeben:

ID Name Vorname Alter
1 Mustermann Klaus 43
2 Musterfrau Elke 39
3 Musterkind Heinz 17
4 Musterkind Karl 15

Die Select-Anweisung dazu sieht so aus:

select * from personen order by alter asc;

Als Ergebnis bekommt man dann:

ID Name Vorname Alter
4 Musterkind Karl 15
3 Musterkind Heinz 17
2 Musterfrau Elke 39
1 Mustermann Klaus 43

Ans Ende der Select-Anweisung wird die Klausel Order By angehängt. Gleich danach wird die Spalte angegeben nach der sortiert werden soll gefolgt von der Sortierrichtung: Dabei steht ASC für aufsteigend sortieren und DESC für absteigend sortieren.

Es ist auch möglich nach mehreren Spalten zu sortieren. Dabei wird nach der Sortierrichtung einfach kommagetrennt die nächste Spalte mit der Sortierrichtung angegeben. Diese Sortierung wirkt sich aber nur dann aus, wenn bei der vorherigen Sortierung für einige Einträge die Werte identisch sind.

Beispiel: select * from personen order by name desc, alter asc;

Hier wird zuerst absteigend nach dem Namen sortiert. Die beiden Einträge mit ‚Musterkind‘ sind identisch, hier greift dann die zweite aufsteigende Sortierung nach dem Namen.

 Antworten

   
Impressum Suffusion theme by Sayontan Sinha