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;