Menu
Coddy logo textTech

CASE no ORDER BY

Parte da seção Além do Básico do Journey de SQL da Coddy — lição 2 de 27.

O CASE não é apenas para o SELECT. Você pode colocá-lo dentro do ORDER BY para ordenar linhas por uma regra personalizada que as colunas sozinhas não conseguem expressar.

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

Note a forma mais curta: CASE column WHEN value THEN .... É equivalente a WHEN column = value. Use a que for mais legível.

challenge icon

Desafio

Fácil

Tabelas e colunas disponíveis:

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

Retorne title e priority, ordenados de forma que 'critical' venha primeiro, depois 'high', depois 'low', e qualquer outra coisa por último. Dentro da mesma prioridade, ordene por title em ordem alfabética.

Experimente você mesmo

SELECT title, priority
FROM tasks
ORDER BY
    -- ...
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Além do Básico