好的,關於如何執行此操作,有一些答案。但所有的答案都假設查詢選擇了全部。如果你有一個獨特的選擇,這些方法不再有效。IN()子句中的PostgreSQL ORDER BY值
在這裏看到的是方法:Simulating MySQL's ORDER BY FIELD() in 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: for SELECT DISTINCT, ORDER BY expressions must appear in select list"
有什麼辦法命令在PostgreSQL的查詢結果通過IN子句中的值的順序?
「_ORDER BY表達式必須出現在select list_」中 - 所以只需將表達式移動到SELECT列表:) – Karolis