DQL排序查询以及聚合函数和分组查询还有分页查询
DQL:查询语句
1.排序查询
语法:select * from 表名 order by 列名;
- order by 排序字段1 排序方式1 ,排序字段1 排序方式2...
排序方式:
- ASC:升序,默认的
- DESC:降序
注意:
- 如果有多个排序条件,则当前边的条件值一样时,才会判断第二条件
2.聚合函数(将一列数据作为一个整体,进行纵向的计算)
- count:计算个数
- 一般选择非空的列:主键
- count(*)
- max:计算最大值
- min:计算最小值
- sum:计算和
- avg:计算平均值
注意:聚合函数的计算,排除null值
- 解决方案:
- 选择不包含非空的列进行计算
- IFNULL函数
3.分组查询
语法:select 列名(性别),计算平均分(数学成绩) from 表名 group by 列名(性别);
- group by 列名;
按照性别分组,分别查询男,女同学的平均分,人数
按照性别分组,分别查询男,女同学的平均分,人数 要求:分数低于70分的人,不参与分组
按照性别分组,分别查询男,女同学的平均分,人数 要求:分数低于70分的人,不参与分组,分组之后,人数要大于2个人
要求:起别名,分组之后 人数要大于2个人
注意:
- 分组之后查询字段:分组字段,聚合函数
- where having 的区别?
- where 在分组之前进行限定,如果不满足条件,则不参与分组,having在分组之后进行限定,如果不满足结果,则不会被查询出来
- where后面不能跟聚合函数,因为where执行顺序大于聚合函数,having可以进行聚合函数的判断
- 执行顺序 : where >group by > having
4.分页查询
- 语法:limit 开始索引,每页查询的条数;
- 公式:开始的索引 = (当前的页码-1)* 每页显示的条数
- limit 是一个MySQL“方言”
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix