Menu
Coddy logo textTech

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 innerhalb von ORDER BY verwenden, um rows 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
    END

Beachte die kürzere Form: CASE column WHEN value THEN .... Es ist äquivalent zu WHEN column = value. Verwende die Variante, die sich besser lesen lässt.

challenge icon

Aufgabe

Einfach

Verfügbare Tabellen und Spalten:

  • <strong>tasks</strong>: <strong>id</strong>, <strong>title</strong>, <strong>priority</strong>

Gib title und priority zurück, so sortiert, dass 'critical' zuerst kommt, dann 'high', dann 'low' und alles andere zuletzt. Bei gleicher Priorität sortiere nach title alphabetisch.

Probier es selbst

SELECT title, priority
FROM tasks
ORDER BY
    -- Ersetze die Platzhalter-Sortierung unten durch einen CASE-Ausdruck, der
    -- die Zeilen so rangiert, wie die Aufgabe es beschreibt, und dann Gleichstände alphabetisch auflöst
    id
quiz iconTeste dich selbst

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

Übe selbstständig: SQL-Playground