Skip to main content
 首页 » 编程设计

Sqlite:如何显示结果X到Y

2025年12月25日81zhenyulu

我是 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>语法(如果您喜欢这种风格)