CASE in ORDER BY
Teil des Abschnitts Über die Grundlagen hinaus der SQL-Journey von Coddy — Lektion 2 von 27.
CASE ist nicht nur für SELECT da. Sie können es in ORDER BY einfügen, um Zeilen nach einer benutzerdefinierten Regel zu sortieren, die die Spalten allein nicht ausdrücken können.
SELECT name, status
FROM tickets
ORDER BY
CASE status
WHEN 'urgent' THEN 1
WHEN 'high' THEN 2
WHEN 'normal' THEN 3
ELSE 4
ENDBeachten Sie die kürzere Form: CASE column WHEN value THEN .... Sie ist äquivalent zu WHEN column = value. Verwenden Sie die Variante, die sich sauberer lesen lässt.
Aufgabe
EinfachVerfügbare Tabellen und Spalten:
<strong>tasks</strong>:<strong>id</strong>,<strong>title</strong>,<strong>priority</strong>
Geben Sie title und priority zurück, sortiert sodass 'critical' zuerst kommt, dann 'high', dann 'low' und alles andere zuletzt. Bei gleicher Priorität sortieren Sie alphabetisch nach title.
Probier es selbst
SELECT title, priority
FROM tasks
ORDER BY
-- ...
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Über die Grundlagen hinaus
1Bedingte Logik
CASE WHENCASE in ORDER BYCOALESCE für NULL-WerteNULLIF und IIFZusammenfassung - Anwesenheit