03Day-排序与分页
一、排序数据
1.1排序规则
使用 ORDER BY 子句排序
ASC(ascend): 升序 DESC(descend):降序 ORDER BY 子句在SELECT语句的结尾。
1.2、单列排序
语法:
SELECT 字段名
FROM 表名
ORDER BY 字段名;
# 不设置升序或降序 其默认是升序
SELECT 字段名
FROM 表名
ORDER BY 字段名 DESC;
# 设置为降序
1.3、多列排序
语法:
SELECT last_name, job_id, department_id, hire_date
FROM employees
ORDER BY department_id,hire_date ASC;
SELECT 字段名
FROM 表名
ORDER BY 字段名1,字段名2 ASC;
可以使用不在SELECT列表中的列排序。
在对多列进行排序的时候,首先排序的第一列必须有相同的列值,才会对第二列进行排序。如果第一列数据中所有值都是唯一的,将不再对第二列进行排序。
二、分页查询
2.1、为什么使用分页查询?
查询返回的记录太多了,查看起来很不方便表里有 4 条数据,我们只想要显示我们想看到的数据
2.2、分页(LIMT)
(1)语法:
LIMIT[位置偏移量,]行数
第一个“位置偏移量”参数 指示MySQL从哪一行开始显示,是一个可选参数,如果不指定“位置偏移量”,将会从表中的第一条记录开始(第一条记录的位置偏移量是0,第二条记录的位置偏移量是1,以此类推);
第二个参数“行数”指示返回的记录条数。
--前10条记录:
SELECT*FROM表名LIMIT0,10;
或者
SELECT*FROM表名LIMIT10;
--第11至20条记录:
SELECT*FROM表名LIMIT10,10;
--第21至30条记录:
SELECT*FROM表名LIMIT20,10;
MySQL8.0中可以使用“LIMIT3OFFSET4”,意思是获取从第5条记录开始后面的3条记录,和“LIMIT4,3;”返回的结果相同
(2)分页显式公式:
(当前页数-1)*每页条数,每页条数
SELECT*FROMtable
LIMIT(PageNo- 1)*PageSize,PageSize;
注意:LIMIT子句必须放在整个SELECT语句的最后!
(3)使用LIMIT的好处
约束返回结果的数量可以减少数据表的网络传输量,也可以提升查询效率。如果我们知道返回结果只有1条,就可以使用LIMIT1,告诉SELECT语句只需要返回一条记录即可。这样的好处就是SELECT不需要扫描完整的表,只需要检索到一条符合条件的记录即可返回。
本文作者:CYF0913
本文链接:https://www.cnblogs.com/cyf0913/p/17233300.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步