Wie man SQL ORDER BY mit mehreren Spalten verwendet
Min-jun Kim
Dev Intern · Leapcell

Key Takeaways
- Die
ORDER BY-Klausel kann Ergebnisse nach mehreren Spalten sortieren. - Die Reihenfolge und Richtung der Spalten beeinflussen die endgültige Ausgabe.
- Die Verwendung mehrerer Spalten ermöglicht eine präzisere Datenorganisation.
Bei der Arbeit mit Datenbanken ist das Sortieren von Daten in einer sinnvollen Reihenfolge oft für Analysen, Berichte oder die Benutzerpräsentation notwendig. SQL bietet die ORDER BY-Klausel, um Abfrageergebnisse zu sortieren. Während das Sortieren nach einer einzelnen Spalte unkompliziert ist, gibt es viele Fälle, in denen das Sortieren nach mehreren Spalten erforderlich ist. Dieser Artikel erklärt, wie man ORDER BY mit mehreren Spalten in SQL verwendet, warum es nützlich ist, und bietet Beispiele zur Veranschaulichung der Verwendung.
Warum nach mehreren Spalten sortieren?
Das Sortieren nach mehreren Spalten kann Ihnen helfen, besser organisierte und leicht interpretierbare Ergebnisse zu erstellen. Wenn Sie beispielsweise eine Liste von Mitarbeitern haben und diese zuerst nach Abteilung und dann nach Gehalt ordnen möchten, stellt die Verwendung mehrerer Spalten in der ORDER BY-Klausel sicher, dass Ihre Daten genau so gruppiert und sortiert werden, wie Sie es benötigen.
Syntax von ORDER BY mit mehreren Spalten
Die grundlegende Syntax zum Sortieren nach mehreren Spalten in SQL ist:
SELECT Spalte1, Spalte2, ... FROM Tabellenname ORDER BY Spalte1 [ASC|DESC], Spalte2 [ASC|DESC], ...;
Spalte1,Spalte2usw. sind die Spalten, nach denen Sie sortieren möchten.ASCbedeutet aufsteigende Reihenfolge (Standard) undDESCbedeutet absteigende Reihenfolge.- Bei Bedarf können Sie aufsteigende und absteigende Reihenfolgen mischen.
Beispiel: Sortieren nach zwei Spalten
Angenommen, Sie haben eine Tabelle namens Mitarbeiter mit den folgenden Spalten: Abteilung, Nachname und Gehalt. Sie möchten die Mitarbeiter nach Abteilung (alphabetisch) und innerhalb jeder Abteilung nach Gehalt (höchste bis niedrigste) sortieren.
SELECT Abteilung, Nachname, Gehalt FROM Mitarbeiter ORDER BY Abteilung ASC, Gehalt DESC;
In diesem Beispiel:
- Die Ergebnisse werden zuerst nach der Spalte
Abteilungin aufsteigender Reihenfolge sortiert. - Innerhalb jeder Abteilung werden die Zeilen zusätzlich nach der Spalte
Gehaltin absteigender Reihenfolge sortiert.
Beispiel: Sortieren nach mehr als zwei Spalten
Sie können der ORDER BY-Klausel beliebig viele Spalten hinzufügen. Hier ist ein Beispiel mit drei Spalten:
SELECT Abteilung, Nachname, Vorname, Gehalt FROM Mitarbeiter ORDER BY Abteilung, Nachname, Vorname;
Diese Abfrage wird:
- Zuerst alle Mitarbeiter nach
Abteilungsortieren. - Für Mitarbeiter innerhalb derselben Abteilung diese nach
Nachnamesortieren. - Wenn es Mitarbeiter mit demselben Nachnamen in einer Abteilung gibt, werden diese nach
Vornamesortiert.
Praktische Tipps
- Die Reihenfolge der Spalten in der
ORDER BY-Klausel ist wichtig. SQL sortiert zuerst nach der ersten Spalte und dann nach der zweiten, nur wenn es Gleichstände gibt, und so weiter. - Wenn Sie
ASCoderDESCnicht angeben, verwendet SQL standardmäßig die aufsteigende Reihenfolge. - Sie können Spaltennummern in der
ORDER BY-Klausel verwenden (z. B.ORDER BY 2, 3 DESC), aber die Verwendung von Spaltennamen wird aus Gründen der Lesbarkeit empfohlen.
Fazit
Das Sortieren nach mehreren Spalten in SQL mithilfe der ORDER BY-Klausel ist eine leistungsstarke Möglichkeit, die Reihenfolge Ihrer Abfrageergebnisse zu steuern. Durch die Angabe einer oder mehrerer Spalten und der Richtung für jede Spalte können Sie Ihre Datenpräsentation so anpassen, dass sie fast allen Anforderungen entspricht. Die Beherrschung dieser Technik ist für eine effektive Datenabfrage und Berichterstellung in SQL unerlässlich.
FAQs
Ja, Sie können ASC oder DESC für jede Spalte einzeln angeben.
SQL sortiert nach der nächsten in der ORDER BY-Klausel angegebenen Spalte.
Nein, aber es wird aus Gründen der Lesbarkeit empfohlen; es können auch Spaltennummern verwendet werden.
Wir sind Leapcell, Ihre erste Wahl für das Hosting von Backend-Projekten.
Leapcell ist die Serverless-Plattform der nächsten Generation für Webhosting, asynchrone Aufgaben und Redis:
Multi-Sprachen-Unterstützung
- Entwickeln Sie mit Node.js, Python, Go oder Rust.
Stellen Sie unbegrenzt Projekte kostenlos bereit
- Zahlen Sie nur für die Nutzung – keine Anfragen, keine Gebühren.
Unschlagbare Kosteneffizienz
- Pay-as-you-go ohne Leerlaufgebühren.
- Beispiel: 25 US-Dollar unterstützen 6,94 Millionen Anfragen bei einer durchschnittlichen Antwortzeit von 60 ms.
Optimierte Entwicklererfahrung
- Intuitive Benutzeroberfläche für mühelose Einrichtung.
- Vollautomatische CI/CD-Pipelines und GitOps-Integration.
- Echtzeitmetriken und -protokollierung für verwertbare Erkenntnisse.
Mühelose Skalierbarkeit und hohe Leistung
- Automatische Skalierung zur einfachen Bewältigung hoher Parallelität.
- Kein operativer Aufwand – konzentrieren Sie sich einfach auf den Aufbau.
Erfahren Sie mehr in der Dokumentation!
Folgen Sie uns auf X: @LeapcellHQ



