Ordenar uma consulta por texto especifico com sql

A algum tempo foi preciso fazer a ordenação de uma coluna de uma maneira bem especifica:

  • Aparecer por primeiro 3 registros especificos.

Isso sem nenhuma lógica de ordenação possível, veja abaixo como foi resolvido:

SELECT
  descricao
FROM
  tabela
ORDER BY
CASE descricao
    WHEN 'textoUM'   THEN 0
    WHEN 'textoUM'   THEN 1
    WHEN 'textoDOIS' THEN 2
    ELSE 999
END;
/

Utilizando CASE se a “palavra” aparecesse seria ordenado pelo número correspondende a ela, 0,1 ou 2, caso contrário seria mostrado posterior as mesmas.

sql