SQL Schnellstart – Order By
Die Ergebnisse unserer SQL-Abfragen sind meistens völlig durcheinander. Um etwas Ordnung in das ganze Chaos zu bringen, kannst du das Schlüsselwort ORDER BY verwenden, um deine Daten zu sortieren.
SQL ORDER BY Anweisung
Das Schlüsselwort ORDER BY wird verwendet, um deine SQL-Abfrage aufsteigend oder absteigend nach einen oder mehreren Spalten zu sortieren. Du kannst mit dem Zusatz "ASC" (Ascending) angeben, dass du aufsteigend sortieren möchtest. Mit "DESC" (Descending) gibst du an, dass du absteigend sortieren möchtest. Verwendest du keiner der beiden Zusätze, werden deine Daten automatisch aufsteigend sortiert.
SQL ORDER BY Syntax
Die allgemeine Syntax von ORDER BY sieht folgendermaßen aus:
SELECT spalte1, spalte2, ..., spalteN
FROM tabelle
ORDER BY spalte ASC | DESC;
Du kannst auch nach mehreren Spalten sortieren. Dafür musst du die Spalten mit Komma abtrennen. Die höchste Priorität bei der Sortierung hat die erste Spalte und dann jeweils die nächste.
SQL ORDER BY Beispiel
Stell dir vor du bist IT-Administrator einer Schule. Jede Klasse dieser Schule hat eine eigene Tabelle in der Schuldatenbank. In diesen Tabellen befinden sich Vorname, Nachname und Geburtsdatum der Schüler der einzelnen Klassen. Sieh dir die Daten der Tabelle "Schueler10A" für die Klasse 10a an:

Die Klassenlehrerin Frau Schmidt hat leider ihre Klassenliste verloren. Du sollst ihr deshalb eine neue Liste ausdrucken. Klassenlisten werden üblicherweise aufsteigend nach dem Nachnamen sortiert. Folgendermaßen erhältst du nun eine solche sortierte Liste.
SELECT *
FROM Schueler10A
ORDER BY Nachname ASC;
Du kannst dir das ASC aber auch sparen, weil standardgemäß bereits aufsteigend sortiert wird.
SELECT *
FROM Schueler10A
ORDER BY Nachname;
Du erhältst damit folgendes Ergebnis:

Wie du sehen kannst, werden die Schüler nun nach ihrem Nachnamen sortiert.
Möchtest du nun zuerst nach dem Nachnamen und danach nach dem Vornamen sortierten, kannst du folgende SQL-Abfrage verwenden:
SELECT *
FROM Schueler10A
ORDER BY Nachname, Vorname;

Erkennst du den Unterschied? Alina Müller befindet sich nun über Martin Müller.
Du kannst auch eine Spalte absteigend sortieren und eine Spalte aufsteigend sortieren.
SELECT *
FROM Schueler10A
ORDER BY Nachname DESC, Vorname ASC;

Code-Aufgabe: Sortiere nach dem Geburtsdatum
Welche Schüler sind die jüngsten? Sortiere die Schüler nach dem Geburtsdatum (absteigend). Die Lösung findest du unten.
[lp_spoiler title="Lösung anzeigen"]
Lösung:
SELECT *
FROM Schueler10A
ORDER BY Geburtsdatum DESC;

[/lp_spoiler]
Fazit
Mit ORDER BY kannst du nun Ordnung in deinen Urwald von unsortierten Daten bringen. Du kannst mit den Zusätzen ASC und DESC aufsteigend bzw. absteigend sortieren. Du weißt auch, dass du nicht nur nach einer Spalte, sondern nach mehreren Spalten sortieren kannst. Dafür musst du die einzelnen Spalten einfach mit einem Komma beim ORDER BY Schlüsselwort trennen.