在 Postgres 中使用 WHERE...ANY
样式查询以按给定数组对结果进行排序时,我是否遗漏了一个技巧?即:
SELECT *
FROM table
WHERE id = ANY (<idsInDesiredOrder>)
最佳答案
也许 array_position可以帮助您:
WITH sample (id, description) AS (
VALUES
(1, 'lorem ipsum'),
(2, 'lorem ipsum'),
(3, 'lorem ipsum'),
(4, 'lorem ipsum')
)
SELECT
*
FROM
sample
WHERE
id = ANY (ARRAY[3,2])
ORDER BY
array_position(ARRAY[3,2], id);
关于database - PostgreSQL:WHERE id = ANY (idsArray) - 按 idsArray 排序结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47455235/