Skip to content
📈0️⃣

MySQL 分页查询

MySQL 分页查询的实现方案有两种:一种是使用 LIMIT 关键字,另一种是使用主键进行分页。

实现方案

  1. 使用 LIMIT 关键字进行分页查询:
sql
SELECT * FROM 表名
ORDER BY 排序列名
LIMIT 起始位置, 每页显示数量;
  1. 使用主键进行分页查询:
sql
SELECT * FROM 表名
WHERE 主键列名 > 上一页最后一条记录的主键值
ORDER BY 主键列名
LIMIT 每页显示数量;

代码案例

假设有一个名为students的表,包含以下字段:id(主键)、nameagescore。现在需要对students表进行分页查询,每页显示 5 条记录。

  1. 使用 LIMIT 关键字进行分页查询:
sql
-- 查询第1页的数据
SELECT * FROM students
ORDER BY id
LIMIT 0, 5;

-- 查询第2页的数据
SELECT * FROM students
ORDER BY id
LIMIT 5, 5;
  1. 使用主键进行分页查询:
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;