CASE en ORDER BY
Parte de la sección Más allá de lo básico del Journey de SQL de Coddy — lección 2 de 27.
CASE no es solo para SELECT. Puedes ponerlo dentro de ORDER BY para ordenar filas mediante una regla personalizada que las columnas por sí solas no pueden expresar.
SELECT name, status
FROM tickets
ORDER BY
CASE status
WHEN 'urgent' THEN 1
WHEN 'high' THEN 2
WHEN 'normal' THEN 3
ELSE 4
ENDObserva la forma más corta: CASE column WHEN value THEN .... Es equivalente a WHEN column = value. Usa la que resulte más clara de leer.
Desafío
FácilTablas y columnas disponibles:
<strong>tasks</strong>:<strong>id</strong>,<strong>title</strong>,<strong>priority</strong>
Devuelve title y priority, ordenados de modo que 'critical' vaya primero, después 'high', después 'low', y cualquier otra cosa al final. Dentro de la misma prioridad, ordena por title alfabéticamente.
Pruébalo tú mismo
SELECT title, priority
FROM tasks
ORDER BY
-- ...
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.