特定于跳转页面的键集分页

时间:2019-11-03 15:23:14

标签: sql postgresql pagination

前端的键集分页仅用于下一个和上一个吗?因为我了解到了这一点,所以我可以用N保留它的先前和。下一个

在第一页说这个查询, SELECT * FROM nameTable ORDER BY ASC id LIMIT 10

,我们将最后一个ID保存在N

,然后用于下一个SELECT * FROM nameTable WHERE id > N ORDER BY ASC id LIMIT 10

,如果以前只是使用WHERE id < N

如果Client中要跳转到第10页还是返回第3页,该怎么办? 你们都能告诉我该怎么做吗,可以使用keyset吗?

2 个答案:

答案 0 :(得分:0)

如果要转到上一页,请记住id的下限和上限。

要向前滚动3页,请使用LIMIT 30 OFFSET 20而不是LIMIT 10。要跳至第X页,请计算X与当前页面之间的差,并将该差乘以每页的行数。

一切都很简单

答案 1 :(得分:0)

使用键集分页您无法跳至给定页面

您可以仅转到第一,最后一个和下一个

正如Laurenz解释的那样,您仍然可以从当前立场上移动/跳过数字“页面” ,但我不确定该用例是什么。

键集分页的主要目的是避免使用偏移/跳过-限制大数据集,但是如果要跳转到确切的页面,则必须偏移/跳过关键字。

通常情况下,下一个和上一个功能使用良好的搜索可以提供足够的用户体验:)