CASE in ORDER BY
Fa parte della sezione Oltre le basi del percorso SQL di Coddy. Lezione 2 di 27.
CASE non serve solo per SELECT. Puoi inserirlo in ORDER BY per ordinare le righe secondo una regola personalizzata che le sole colonne non possono esprimere.
SELECT name, status
FROM tickets
ORDER BY
CASE status
WHEN 'urgent' THEN 1
WHEN 'high' THEN 2
WHEN 'normal' THEN 3
ELSE 4
ENDNota la forma più breve: CASE column WHEN value THEN .... Equivale a WHEN column = value. Usa quella che risulta più leggibile.
Sfida
FacileTabelle e colonne disponibili:
tasks:id,title,priority
Restituisci title e priority, ordinati in modo che 'critical' venga prima, poi 'high', poi 'low' e tutto il resto per ultimo. A parità di priorità, ordina alfabeticamente per title.
Provalo tu
SELECT title, priority
FROM tasks
ORDER BY
-- Sostituisci l'ordinamento segnaposto qui sotto con un'espressione CASE che
-- ordini le righe come descritto nell'esercizio, poi risolva i casi di parità in ordine alfabetico
id
Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Oltre le basi
2Funzioni sulle stringhe
LENGTH, UPPER, LOWERSUBSTRINSTRREPLACE e TRIMConcatenare con ||Ripasso - Fatture3Aggregazione condizionale
COUNT con CASESUM con CASETrasformare le righe in colonneRiepilogo - Fonti di trafficoEsercitati da solo: Playground SQL