Database
 sql >> Datenbank >  >> RDS >> Database

Wie bestellt man nach zwei Spalten in SQL?

Problem:

Sie müssen Datensätze aus einer bestimmten Tabelle nach zwei Spalten sortiert anzeigen.

Beispiel:

Unsere Datenbank hat eine Tabelle namens employee mit den folgenden Spalten:id , first_name , last_name und salary .

id Vorname Nachname Gehalt
1 Lisa Ulmann 3000
2 Ada Müller 2400
3 Thomas Grün 2400
4 Michael Müller 3000
5 Maria Grün 2400

Lassen Sie uns alle Informationen für jeden Mitarbeiter anzeigen, aber sortieren Sie die Datensätze zuerst nach Gehalt in absteigender Reihenfolge und dann nach Nachnamen in aufsteigender Reihenfolge.

Lösung:

SELECT id,  
  first_name,
  last_name,
  salary
FROM employee
ORDER BY salary DESC, last_name;

Diese Abfrage gibt nach zwei Spalten sortierte Datensätze zurück:Gehalt und Nachname .

<
id Vorname Nachname Gehalt
4 Michael M uller 3000
1 Lisa U lman 3000
3 Thomas G wieder 2400
5 Maria G wieder 2400
2 Ada M uller 2400

Diskussion:

Wenn Sie Datensätze aus einer Tabelle auswählen möchten, diese aber nach zwei Spalten sortiert sehen möchten, können Sie dies mit ORDER BY tun . Diese Klausel steht am Ende Ihrer SQL-Abfrage.

Nach dem ORDER BY Stichwort, fügen Sie den Namen der Spalte hinzu, nach der Sie Datensätze zuerst sortieren möchten (in unserem Beispiel Gehalt). Fügen Sie dann nach einem Komma die zweite Spalte hinzu (in unserem Beispiel last_name ). Sie können die Sortierreihenfolge (aufsteigend oder absteigend) für jede Spalte separat ändern. Wenn Sie eine aufsteigende Reihenfolge (von niedrig nach hoch) verwenden möchten, können Sie den ASC verwenden Stichwort; Dieses Schlüsselwort ist jedoch optional, da dies die Standardreihenfolge ist, wenn keines angegeben ist. Wenn Sie eine absteigende Reihenfolge verwenden möchten, geben Sie DESC ein Schlüsselwort nach der entsprechenden Spalte (im Beispiel haben wir für salary eine absteigende Reihenfolge verwendet Spalte).

In unserem Beispiel haben wir das Ergebnis zuerst nach Gehalt in absteigender Reihenfolge (höhere Gehälter zu niedrigeren) und dann innerhalb dieser bereits sortierten Datensätze nach Nachnamen in aufsteigender Reihenfolge sortiert.