Хорошо, есть несколько ответов о том, как это сделать. Но все ответы предполагают, что запрос выбирает все. Если у вас есть отдельный выбор, методы больше не работают.
См. Этот метод здесь: Моделирование MySQL ORDER BY FIELD () в Postgresql
В основном у меня есть
SELECT DISTINCT id
FROM items
WHERE id IN (5,2,9)
ORDER BY
CASE id
WHEN 5 THEN 1
WHEN 2 THEN 2
WHEN 9 THEN 3
END
Конечно, это ломается и говорит
"PGError: ERROR: для SELECT DISTINCT выражения ORDER BY должны появляются в списке выбора "
Есть ли способ упорядочить результаты запроса в PostgreSQL по порядку значений в предложении IN?