MySQL分组查询有关知识总结
创始人
2024-11-14 07:08:46
0

目录

 4. 分组查询(group by)

4.1 概述

4.2 分组函数

4.2.1 单个使用 

4.2.2 组合使用

4.2.3 注意!

4.3 group by 

4.3.1 单个字段

4.3.2 多个字段  

4.3.3 提醒!

4.4 having

4.5 分组查询演示


 4. 分组查询(group by)

分组查询在DQL语句中非常重要,非常值得花费时间进行学习;

4.1 概述

什么是分组查询呢?

举一个例子,查询一个 student 表中男生的平均成绩,我们首先需要将表分为男,女两个部分,求男生分数的总和,最后求出平均分即可。这个问题就是分组查询。

那么求男生分数的总和需要用到聚合函数,因此在学习分组查询前需要学习聚合函数

4.2 分组函数

分组函数又叫做聚合函数,经常与关键字 group by 搭配使用,分组函数共有五个:

COUNT():统计数量:

MAX:求最大值,

MIN:求最小值;

SUM:求和;

AVG:求平均数 

4.2.1 单个使用 

sum:求和;

count:计数;

max:最大值;

min:最小值;

avg:平均值;

4.2.2 组合使用

 如下,可以同时使用分组函数; 

4.2.3 注意!

(1)分组函数自动忽略空,因此 count  不能统计值为 null 的列。我们经常统计主键来进行计算。

如果统计所有列的话,可以使用 select count(*)from 表名(对所有记录的处理,输出结果为整张表所有记录的行数

即某一行的每一列都不为空,该行就会被统计,避免因字段内容为 null 而忽略统计;

如下,统计的 comm 只有 4 个,但整张表有14 行记录,这是因为 comm 的内容为 null 的10 行没有被统计;

此外, count ( * ) 与 count (常数)的效果是一样的;

(2)null 不参与所有聚合函数的计算;

这与前面所说的分组函数自动忽略 null 有关;

(3)分组函数必须先分组再使用(以上演示分组函数没有使用 group by,则默认整张表是一组); 

(4)分组函数不能直接在 where 子句中使用,即不能充当 where 的条件

这涉及到执行顺序:from > where > group by > select > order by ;

如下,分组函数与 where 同时使用,当然会报错;

4.3 group by 
4.3.1 单个字段

 分组查询需要使用 group by 关键字 ;

4.3.2 多个字段  

 group by 后面可以有多个字段;

如下,查询每个部门不同岗位的的平均薪资;

4.3.3 提醒!

 DDL 语句中有 group by 的话,select 后面只能是参与分组的字段或参与分组函数的字段,或者这两者的组合;

4.4 having

having 与 where 功能相似,都是过滤的作用;

但是,where 是 group by 之前过滤,having 是 group by 之后过滤; 

having 必须搭配 group by 使用;

另外, 越早过滤效率越高;

4.5 分组查询演示

 在查询数据时,很多时候目标远大 ,一次很难达到,不如将目标分解,一步一步去实现,脚踏实地,稳扎稳打;

如下,分为两次去实现;

 当然,也可以这样写,使查询效率更高;

相关内容

热门资讯

五分钟分钟!授权大厅其实一直总... 五分钟分钟!授权大厅其实一直总是有挂,佳友互娱有挂,详细教程(2020已更新)(哔哩哔哩);亲,有的...
四分钟外挂!(微乐长沙麻将)原... 相信很多朋友都在电脑上玩过微乐长沙麻将吧,但是很多朋友都在抱怨用电脑玩起来不方便。为此小编给大家带来...
6分钟分钟!云麻圈原来是有挂,... 自定义新版云麻圈系统规律,只需要输入自己想要的开挂功能,一键便可以生成出云麻圈专用辅助器,不管你是想...
七分钟盈利!(wpk)其实是有... 自定义新版wpk系统规律,只需要输入自己想要的开挂功能,一键便可以生成出wpk专用辅助器,不管你是想...
五分钟神器!(wepokerp... 您好,wepokerplus这款游戏可以开挂的,确实是有挂的,需要了解加微【485275054】很多...
8分钟分钟!AAPoker其实... 8分钟分钟!AAPoker其实一直总是有挂,和成互娱其实是真的有挂,详细教程(2025已更新)(哔哩...
4分钟分钟!微友联盟其实有挂猫... 4分钟分钟!微友联盟其实有挂猫腻,中至吉安小程序辅助器免费,详细教程(2021已更新)(哔哩哔哩);...
四分钟稳赢!(Wepoke新版... 四分钟稳赢!(Wepoke新版)原来确实是有挂,Wepoke新版软件透明挂,详细教程(有挂辅助)-哔...
两分钟分钟!新白虎大厅其实确实... 两分钟分钟!新白虎大厅其实确实是有挂,新白虎大厅2022已更新详细教程(2022已更新)(哔哩哔哩)...
四分钟检测!(aa扑克)确实真... 四分钟检测!(aa扑克)确实真有挂辅助挂吗,wpk网页版其实是确实有挂,详细教程(有挂神器)-哔哩哔...