实现规则
分页原理
所谓分页显示,就是将数据库中的结果集,一段一段显示出来需要的条件。
MySQL中使用 LIMIT 实现分页
格式:
LIMIT [位置偏移量,] 行数
总结:每页显示pageSize条记录,此时显示第pagenum页
公式: LIMIT (paganum-1)*pageSize;
注意点:
MySQL 8.0中可以使用“LIMIT 3 OFFSET 4”,意思是获取从第5条记录开始后面的3条记录,和“LIMIT 4,3;”返回的结果相同。
分页显式公式:(当前页数-1)*每页条数,每页条数
注意:LIMIT 子句必须放在整个SELECT语句的最后!
使用 LIMIT 的好处
约束返回结果的数量可以 减少数据表的网络传输量 ,也可以 提升查询效率 。如果我们知道返回结果只有1 条,就可以使用 LIMIT 1 ,告诉 SELECT 语句只需要返回一条记录即可。这样的好处就是 SELECT 不需要扫描完整的表,只需要检索到一条符合条件的记录即可返回。
代码举例:
#分页
#使用limit实现数据的分页显示#需求1:每页显示20条记录,此时显示第一页
SELECT employee_id,last_name
FROM employees
LIMIT 0,20;#需求2:每页显示20条记录,此时显示第二页
SELECT employee_id,last_name
FROM employees
LIMIT 20,20;#总结:每页显示pageSize条记录,此时显示第pagenum页
#公式: LIMIT (paganum-1)*pageSize;#WHERE...ORDER BY...LIMIT 声明顺序
#LIMIT 子句必须放在整个SELECT语句的最后
#结构 LIMIT 0,条目数 等价于 LIMIT 条目数
SELECT employee_id,last_name,salary
FROM employees
WHERE salary > 6000
ORDER BY salary DESC
LIMIT 0,10;#练习:表里有107条数据,我们只想要显示第32,33条数据
SELECT employee_id,last_name
FROM employees
LIMIT 31,2;
#8.0新特性: LIMIT...OFFSET...
SELECT employee_id,last_name
FROM employees
LIMIT 2 OFFSET 31;#练习:查询员工表中工资最高的员工信息
SELECT employee_id,last_name,salary
FROM employees
ORDER BY salary DESC
LIMIT 0,1;
#或 LIMIT 1;