我有两个桌子。当我调用查询结果总是相同时,我想进行分页。错误在哪里?
select t1.id, status, category, lat, lng
from public.p t1
join public.l t2 on t1.id=t2.id and user_id=4 limit 10 OFFSET 10
答案 0 :(得分:0)
严格来说,没有ORDER BY
,Postgres可以随意返回 任何 行,因为顺序是不确定的,并且任何结果都是正确的。 (但是Postgres仍然会应用OFFSET
,因此即使没有ORDER BY
,它也应该“起作用”。)
使用(确定性的)ORDER BY
重试:
select t1.id, status, category, lat, lng
from public.p t1
join public.l t2 on t1.id=t2.id and user_id=4
ORDER BY ?something? -- !
limit 10
offset 10
尽管如此,LIMIT
/ OFFSET
通常不是 分页 的最佳工具。参见: