使用LIMIT分页

MySQL中,使用 LIMIT 实现分页,语法如下:

  • MySQL5.7中,LIMIT 初始位置,记录数 或者 LIMIT 位置偏移量,记录数
  • MySQL8.0中,LIMIT 记录数 OFFSET 位置偏移量

另外,LIMIT 0,记录数 或者 LIMIT 记录数 OFFSET 0,可简写为 LIMIT 记录数

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;

在这里插入图片描述

LIMIT 记录数 OFFSET 偏移量

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 记录数

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;

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qzw752890913/article/details/126039481