LIMIT结合OFFSET是SQL分页的基本方法,语法为LIMIT数量OFFSET起始位置或LIMIT起始位置,数量,起始位置从0开始;分页公式为每页n条、第p页时,OFFSET=(p-1)n,LIMIT=n;例如查第3页每页10条需跳过20条;实际查询可用SELECT FROM users LIMIT 10 OFFSET 20;建议配合ORDER BY保证顺序稳定,注意OFFSET过大时性能下降,深度分页可改用键集或游标分页优化。

在 SQL 查询中,LIMIT 常用于实现分页功能,控制每次查询返回的记录数量。通过配合 OFFSET,可以跳过前面若干条数据,从而获取指定页的内容。
基本语法
LIMIT 子句的基本写法如下:
LIMIT 数量 OFFSET 起始位置
或简写为:
- LIMIT 起始位置, 数量
注意:起始位置从 0 开始计数。
分页公式
假设每页显示 n 条数据,当前是第 p 页(页码从 1 开始),那么计算方式为:
- OFFSET = (p - 1) * n
- LIMIT = n
例如:每页 10 条,查第 3 页的数据,OFFSET 为 (3-1)*10 = 20,即跳过前 20 条。
实际示例
比如有一张用户表 users,想实现分页查询:
- 第一页(前 10 条):SELECT * FROM users LIMIT 10 OFFSET 0;
- 第二页:SELECT * FROM users LIMIT 10 OFFSET 10;
- 第三页:SELECT * FROM users LIMIT 10 OFFSET 20;
也可以写成:SELECT * FROM users LIMIT 10, 10; (表示从第 11 条开始取 10 条)
注意事项
使用 LIMIT 分页时应注意:
- 为了保证结果顺序稳定,建议配合 ORDER BY 使用,否则每次查询的排序可能不一致。
- 大数据量下 OFFSET 越大,性能越差,因为数据库仍需扫描前面所有行。
- 可考虑使用“键集分页”或“游标分页”优化深度分页场景。
基本上就这些,LIMIT 结合 OFFSET 是最简单直接的分页方法,适合中小数据量场景。










