SQL: Sortierung nach mehreren Feldern

Aus DBWiki
Wechseln zu: Navigation, Suche

Zurück zur Übersicht



Durch kommasepariertes Auflisten der verschiedenen Sortierfelder in der ORDER BY-Klausel wird eine Sortierung der Daten von links nach rechts entsprechend ihrer Sortierrichtung vorgenommen. Auch hier ist die Angabe von Spaltenpositionen für Felder in der Feldliste erlaubt. Wird in der Abfrage eine GROUP BY- oder DISTINCT-Klausel verwendet, so müssen die zu sortierenden Felder auch in der Feldliste aufgeführt sein.

Allgemeine Lösung

Hinweis für Access-Anwender
Um die folgende Abfrage selbst testen zu können, müssen die Tabellen der Übungsdatenbank vorhanden sein.


Um z. B. die Mitarbeiter aufsteigend nach der Abteilungsnummer und anschließend absteigend nach Gehalt zu sortoeren, kann so vorgegangen werden:

SELECT ma_nr, abt_nr, gehalt, ma_name, job
FROM   mitarbeiter
ORDER  BY abt_nr, gehalt DESC
ma_nr abt_nr gehalt ma_name job
7839 10 5000 König Hauptgeschäftsführer
7782 10 2450 Kühne Abteilungsleiter
7934 10 1300 Müller Sachbearbeiter
7788 20 3000 Scheidt Referent
7902 20 3000 Fuhrmann Referent
7566 20 2975 Johann Abteilungsleiter
7876 20 1100 Adam Sachbearbeiter
7369 20 800 Schmidt Sachbearbeiter
7698 30 2850 Blank Abteilungsleiter
7499 30 1600 Allard Handelsvertreter
7844 30 1500 Dreher Handelsvertreter
7654 30 1250 Mertens Handelsvertreter
7521 30 1250 Wecker Handelsvertreter
7900 30 950 Jakobs Sachbearbeiter
Wiki hinweis.png

Anmerkung: Ausdrücke und Funktionen in der ORDER BY-Klausel unterbinden in Access die Verwendung eines Indexes für die Sortierung.



Zurück zur Übersicht