一、分页的公式,
设每页显示的数据个数为 pageSize,当前是第 pageNo 页,那么就有如下 LIMIT
查询公式
LIMIT (pageNo - 1) * pageSize, pageSize;
初始偏移量 (pageNo - 1) * pageSize
备注:理解区块
求显示第3 个数据,
是不是应该每页1个,显示第3页,(3-1)*1,1,所以应该是limit 2,1
反算的话:结果/pageSize+1=pageNo
查询员工表 employees
中的第 32、33条员工的数据
SELECT employee_id, last_name, salary
FROM employees
LIMIT 31, 2;
二、 拓展
MySQL8.0中对于分页新增了一个新特性,对 LIMIT 后增加了偏移量 OFFSET :
LIMIT 每页条目数 OFFSET 初始偏移量;
1
对比一下原有的格式,无非就是把 初始偏移量 和 每页条目数 位置调转一下,然后把逗号去掉即可。
下面两个语句运行结果相等
select * from employees order by hire_date desc limit 1 offset 2
select * from employees order by hire_date desc limit 2,1
LIMIT 可以使用在 MySQL、PostgreSQL、MariaDB 和 SQLite 中。
LIMIT 不可以使用在 Oracle、DB2、SQL Server 中!