我是 sql (和 sqlite)的新手,到目前为止我已经了解到我需要使用 count 来获取查询返回的行数。但是,如果我得到例如 10'000 个结果,并希望将它们分成 10 个“页面”,我只想在一页上显示 0-1'000 的结果,在另一页上显示 1'000-2'000 的结果,依此类推.
我应该如何编写一个只显示我感兴趣的结果的 SQL 查询?我想我必须做这样的事情:
select *
from sometable
where somecol like '%whatever%'
AND resultcount > 1000
AND resultcount < 2000;
如果之前已经回答过这个问题,我深表歉意,但我不知道应该搜索什么,到目前为止我还没有找到任何对于初学者来说足够简单的解决方案;)
请您参考如下方法:
您可以使用sqlite的LIMIT和OFFSET功能。
SELECT *
FROM sometable
WHERE somecol LIKE '%whatever%'
LIMIT 1000 OFFSET 1000
LIMIT X OFFSET Y是 X 条记录的 LIMIT,带有 Y OFFSET
所以LIMIT 10 OFFSET 50将返回 10 条记录,记录偏移量为 50。
还有LIMIT <skip>, <count>语法(如果您喜欢这种风格)


