database - PostgreSQL:WHERE id = ANY (idsArray) - 按 idsArray 排序结果

标签 database postgresql

在 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/

相关文章:

java - 寻求一些了解 simpleCursorAdapter 工作原理的见解

PostgreSQL 错误 : EXECUTE of SELECT . .. INTO 未实现

python - 将参数传递给 DB .execute for WHERE IN... INT list

php - 拉维尔 4 : How to use an Accessor in a where-clause

python - 在多处理代码中使用 pyodbc

mysql - Django mysql客户端安装

java - 在 Android 中使用 Parse.com 保存和检索图像文件

ruby - 在 10.6.7 上针对 libpq.a 编译 postgres ruby​​ gem

ruby-on-rails - 减少/简化时间序列数据

sql - Postgres/Redshift 按状态计算最后 5 行