我有一条SQL语句
select *
from users u left join files f
on u.id = f.user_id
where f.mime_type = 'jpg'
order by u.join_date desc
limit 10 offset 10
1-N关系:用户可能有多个文件。
这实际上选择了第二个 10 元素页面。
问题是此查询限制/偏移了连接表,但我想限制/偏移第一个 (users
) 表中的不同行。
如何?我的目标是 PostgreSQL 和 HSQLDB
最佳答案
需要先将select限制在outer table上,再将依赖表join到结果上。
select * from (select * from users where f.mime_type = 'jpg' limit 10 offset 10) as u
left join files f
on u.id = f.user_id
关于sql - JOIN 选择中的正确分页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15897055/