MySQL中,使用 LIMIT 实现分页,语法如下:
LIMIT 初始位置,记录数 或者 LIMIT 位置偏移量,记录数。LIMIT 记录数 OFFSET 位置偏移量。另外,LIMIT 0,记录数 或者 LIMIT 记录数 OFFSET 0,可简写为 LIMIT 记录数。
假设分页时,每页显示 pageSize 条记录,此时显示第 pageNo 页,则 LIMIT (pageNo-1)*pageSize,pageSize 。
1. 查询表employees中的所有数据。
# 查询表employees中的所有数据
SELECT employee_id,last_name,salary
FROM employees;

2. 每页显示10条记录,此时显示第1页。
# 每页显示10条记录,此时显示第1页
SELECT employee_id,last_name,salary
FROM employees
LIMIT 0,10;

3. 每页显示10条记录,此时显示第2页。
# 每页显示10条记录,此时显示第2页
SELECT employee_id,last_name,salary
FROM employees
LIMIT 10,10;

4. 每页显示10条记录,当前显示第3页。
# 每页显示10条记录,当前显示第3页
SELECT employee_id,last_name
FROM employees
LIMIT 20,10;

5. 表里有107条数据,只想显示第32、33条数据。
# 表里有107条数据,只想显示第32、33条数据
SELECT employee_id,last_name,salary
FROM employees
LIMIT 31,2;

1. 表里有107条数据,只想显示第32、33条数据。
# 表里有107条数据,只想显示第32、33条数据
SELECT employee_id,last_name,salary
FROM employees
LIMIT 2 OFFSET 31;

2. 查询工资最高的员工信息。
# 查询工资最高的员工信息
SELECT employee_id,last_name,salary
FROM employees
ORDER BY salary DESC
LIMIT 1;
SELECT employee_id,last_name,salary
FROM employees
ORDER BY salary DESC
LIMIT 0,1;
SELECT employee_id,last_name,salary
FROM employees
ORDER BY salary DESC
LIMIT 1 OFFSET 0;

LIMIT 0,记录数、LIMIT 记录数 OFFSET 0,可以简写为 LIMIT 记录数。
1. 查询员工salary大于6000的员工信息,然后将这些数据按salary降序排列,并获取前10条记录。
# LIMIT 0,10
SELECT employee_id,last_name,salary
FROM employees
WHERE salary > 6000
ORDER BY salary DESC
LIMIT 0,10;
# LIMIT 10 OFFSET 0
SELECT employee_id,last_name,salary
FROM employees
WHERE salary > 6000
ORDER BY salary DESC
LIMIT 10 OFFSET 0;
# LIMIT 10
SELECT employee_id,last_name,salary
FROM employees
WHERE salary > 6000
ORDER BY salary DESC
LIMIT 10;
