Usando uma expressão CASE para ordenar resultados

Usando uma expressão CASE para ordenar resultados

Não acho que seja possível passar uma palavra-chave como parâmetro, mas um parâmetro booleano :desc pode ser usado em uma expressão CASE.

--[params]
-- boolean :desc = false

SELECT
*
FROM generate_series(1, 10) AS num
ORDER BY
  CASE WHEN :desc THEN num END DESC,
  CASE WHEN NOT :desc THEN num END ASC
5 curtidas