想象一下,您有一个 1m 的记录表,并且您想将搜索结果限制在 10,000 条以内,并且不超过 10,000 条。那我有什么用呢?好吧,答案是使用限制条款。
例子
select recid from mytable order by recid asc limit 10000
这将为我提供输入到此表中的最后 10,000 条记录。
到目前为止没有分页。但是限制短语已经在使用。
这将问题带到了一个新的水平。
如果我想一次翻阅此记录特定记录集 100 个记录,该怎么办?由于该 limit
短语已经是原始查询的一部分,我该如何再次使用它,这次来处理分页?
如果组织。查询开始时没有限制子句,我会先调整它limit 0,100
,然后再调整它limit 100,100
,然后limit 200,100
在分页过程中进行调整。但此时,我不能。
你几乎认为你想一个接一个地使用两个限制短语——这是行不通的。
limit 10000 limit 0,100
肯定会出错。
那么在这种特殊情况下的解决方案是什么?
[编辑]
在我发布这个问题后,我意识到 org. 一旦分页例程启动,查询就变得毫无意义。我不知何故让自己感到困惑,尽管这 order by recid asc limit 10000
完全是 where 子句的一部分。实际上,该limit 10000
部分与记录集内容无关 - 除了将记录集限制在请求的限制之外。因此,一旦分页开始,就没有必要保持 10000 的限制。很抱歉在这件事上浪费了你的时间。:(