MySQL 分页查询
MySQL 分页查询的实现方案有两种:一种是使用 LIMIT 关键字,另一种是使用主键进行分页。
实现方案
- 使用 LIMIT 关键字进行分页查询:
sql
SELECT * FROM 表名
ORDER BY 排序列名
LIMIT 起始位置, 每页显示数量;
- 使用主键进行分页查询:
sql
SELECT * FROM 表名
WHERE 主键列名 > 上一页最后一条记录的主键值
ORDER BY 主键列名
LIMIT 每页显示数量;
代码案例
假设有一个名为students
的表,包含以下字段:id
(主键)、name
、age
、score
。现在需要对students
表进行分页查询,每页显示 5 条记录。
- 使用 LIMIT 关键字进行分页查询:
sql
-- 查询第1页的数据
SELECT * FROM students
ORDER BY id
LIMIT 0, 5;
-- 查询第2页的数据
SELECT * FROM students
ORDER BY id
LIMIT 5, 5;
- 使用主键进行分页查询:
sql
-- 查询第1页的数据
SELECT * FROM students
WHERE id > (SELECT MAX(id) FROM students) - 5
ORDER BY id
LIMIT 5;
-- 查询第2页的数据
SELECT * FROM students
WHERE id > (SELECT MAX(id) FROM (SELECT id FROM students ORDER BY id LIMIT 5) AS temp)
ORDER BY id
LIMIT 5;