使用背景
- 查询返回的记录太多了,查看起来很不方便
- 表里有4条数据,我们只想要显示第2、3条数据
limit x, y;
解读:
x表示偏移量,(非负整数)表示从第(x + 1)条数据开始显示。
y表示每页显示的记录数。
#需求:每页显示pageSize条记录,此时显示第pageNo页: #公式:LIMIT (pageNo-1) * pageSize,pageSize;
#mysql使用limit实现数据的分页显示
# 每页显示4条记录,此时显示第1页
SELECT id, `name`, age, sport
FROM employee
LIMIT 0,4;
# 0是偏移量,从第一条开始显示
# 4是显示4条数据
#mysql使用limit实现数据的分页显示
# 每页显示4条记录,此时显示第2页
SELECT id, `name`, age, sport
FROM employee
LIMIT 4,4;
# 第一个4是偏移量,从第一条开始显示
# 第二个4是显示4条数据
WHERE … ORDER BY …LIMIT 声明顺序
LIMIT的格式: 严格来说:LIMIT 位置偏移量,条目数
结构”LIMIT 0,条目数” 等价于 “LIMIT 条目数”(从第一条数据开始显示)
# LIMIT的格式: 严格来说:LIMIT 位置偏移量,条目数
# 结构"LIMIT 0,条目数" 等价于 "LIMIT 条目数"
SELECT id, `name`, age, sport
FROM employee
WHERE age > 17 || id > 2
ORDER BY age
#LIMIT 0,4;
# 从第一条数据开始取可以只写条数
LIMIT 4;
# 法一:
# 只显示第二条和第三条数据
SELECT id, `name`, age, sport
FROM employee
LIMIT 1,2;
# 法二:
# MySQL8.0新特性:LIMIT ... OFFSET ...
SELECT id, `name`, age, sport
FROM employee
LIMIT 2 OFFSET 1;
#练习:表中年龄最大的人员信息
SELECT id, `name`, age, sport
FROM employee
ORDER BY age DESC
limit 0,1
使用LIMIT的好处
约束返回结果的数量可以减少数据表的网络传输量,也可以提升查询效率。如果我们知道返回结果只有1条,就可以使用LIMIT 1,告诉SELECT语句只需要返回一条记录即可。这样的好处就是SELECT 不需要扫描完整的表,只需要检索到一条符合条件的记录即可返回。