SQL ORDER BY



SQL SELECT
SQL DISTINCT
SQL WHERE
SQL AND OR
SQL IN
SQL BETWEEN
SQL LIKE
SQL ORDER BY
SQL Funktionen
SQL COUNT
SQL GROUP BY
SQL HAVING
SQL ALIAS
SQL JOIN
SQL OUTER JOIN
SQL Unterabfrage
SQL UNION
SQL UNION ALL
SQL INTERSECT
SQL MINUS
SQL Kaskadieren
SQL SUBSTRING
SQL TRIM


Seitenübersicht




  SQL > SQL Befehle > Order By

Bisher haben wir uns mit dem Abrufen von Daten aus einer Tabelle unter Verwendung der Befehle SELECT und WHERE beschäftigt. In vielen Fällen müssen die ausgegebenen Daten jedoch auf eine bestimmte Weise sortiert werden. Dies könnte beispielsweise in aufsteigender oder absteigender Reihenfolge oder auf der Grundlage eines Zahlenwerts oder Textwerts geschehen. In solchen Fällen können wir das Schlüsselwort ORDER BY einsetzen.

Die Syntax für eine ORDER BY-Anweisung sieht folgendermaßen aus:

SELECT "Spalten_Name"
FROM "Tabellen_Name"
[WHERE "Bedingung"]
ORDER BY "Spalten_Name" [ASC, DESC]

Das Symbol [] bedeutet, dass die WHERE-Anweisung optional ist. Ist jedoch eine WHERE-Klausel vorhanden, steht sie vor der ORDER BY-Klausel. ASC bedeutet, dass die Ergebnisse in aufsteigender Reihenfolge angezeigt werden, DESC, dass sie in absteigender Reihenfolge erscheinen. Findet sich keine diesbezügliche Angabe, wird die Voreinstellung ASC verwendet.

Es besteht die Möglichkeit, nach mehr als einer Spalte zu sortieren. In diesem Fall sieht die ORDER BY-Klausel wie folgt aus:

ORDER BY "Spalten_Name1" [ASC, DESC], "Spalten_Name2" [ASC, DESC]

Wenn wir beispielsweise für beide Spalten eine aufsteigende Sortierung wählen, erfolgt die Ausgabe in aufsteigender Reihenfolge gemäß Spalte 1. Liegt eine Verknüpfung für den Wert von Spalte 1 vor, erfolgt die Sortierung in aufsteigender Reihenfolge nach Spalte 2.

So könnten wir zum Beispiel den Inhalt der Tabelle Store_Information nach Euro-Beträgen in absteigender Reihenfolge sortieren:

Tabelle Store_Information
store_name Sales Date
Los Angeles 1500€ 05.Jan.1999
San Diego 250€ 07.Jan.1999
San Francisco 300€ 08.Jan.1999
Boston 700€ 08.Jan.1999

geben wir ein:

SELECT store_name, Sales, Date
FROM Store_Information
ORDER BY Sales DESC


Ergebnis:

store_name Sales Date
Los Angeles 1500€ 05.Jan.1999
Boston 700€ 08.Jan.1999
San Francisco 300€ 08.Jan.1999
San Diego 250€ 07.Jan.1999

Zusätzlich zum Spaltennamen lässt sich auch mit der Spaltenposition (basierend auf der SQL-Abfrage) angeben, auf welche Spalte die ORDER BY-Klausel bezogen werden soll. Die erste Spalte ist 1, die zweite 2 usw. Im obigen Beispiel werden die gleichen Ergebnisse mit folgendem Befehl erreicht:

SELECT store_name, Sales, Date
FROM Store_Information
ORDER BY 2 DESC


SQL Funktionen >>




Copyright © 2013   1keydata.com   Alle Rechte vorbehalten.