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
ENDZwróć 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.
Wyzwanie
ŁatwyDostę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
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