【发布时间】:2019-07-07 20:13:39
【问题描述】:
我需要获取表X的N条记录,但我需要使用INNER JOIN过滤这些记录,并事先对连接的记录进行相应的排序。
我尝试做的示例(可能不是 100% 准确,因为我使用的是 SQLAlchemy):
SELECT X.id
FROM X
INNER JOIN Y ON X.id = Y.other_id
WHERE Y.condition_one
ORDER BY Y.condition_two
LIMIT 10
FOR UPDATE OF X SKIP LOCKED;
当我这样做时,我得到少于 10 个不同的 ids(可能是因为连接的行是有限的),但是,我无法执行 DISTINCT
FOR UPDATE。我想我不能使用子查询,因为FOR UPDATE。
我该怎么办?
【问题讨论】:
标签: postgresql distinct select-for-update