Menu
Coddy logo textTech

CASE w ORDER BY

Część sekcji Poza podstawami ścieżki SQL w Coddy. Lekcja 2 z 27.

CASE służy nie tylko do SELECT. Możesz umieścić go w ORDER BY, aby sortować wiersze według niestandardowej reguły, której nie da się wyrazić za pomocą samych kolumn.

SELECT name, status
FROM tickets
ORDER BY
    CASE status
        WHEN 'urgent' THEN 1
        WHEN 'high'   THEN 2
        WHEN 'normal' THEN 3
        ELSE 4
    END

Zwróć uwagę na krótszą formę: CASE column WHEN value THEN .... Jest równoważna z WHEN column = value. Użyj tej, która jest czytelniejsza.

challenge icon

Wyzwanie

Łatwy

Dostępne tabele i kolumny:

  • tasks: id, title, priority

Zwróć title i priority, uporządkowane tak, aby 'critical' było pierwsze, następnie 'high', potem 'low', a wszystko inne na końcu. W obrębie tego samego priorytetu sortuj alfabetycznie według title.

Spróbuj swoich sił

SELECT title, priority
FROM tasks
ORDER BY
    -- Zastąp poniższe tymczasowe sortowanie wyrażeniem CASE, które
    -- uszereguje wiersze zgodnie z opisem zadania, a następnie rozstrzygnie remisy alfabetycznie
    id
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Poza podstawami

Poćwicz samodzielnie: Edytor online SQL