【MySQL】学习并使用聚合函数和DQL进行分组查询
作者:mmseoamin日期:2024-02-03

【MySQL】学习并使用聚合函数和DQL进行分组查询,](https://img-home.csdnimg.cn/images/20220524100510.png#pic_center),第1张

🌈个人主页: Aileen_0v0

🔥热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法

💫个人格言:“没有罗马,那就自己创造罗马~”

文章目录

  • `SQL`
    • `DQL-聚合函数`
    • `常见的聚合函数`
    • `聚合函数使用语法`
    • `聚合函数Exercises`
      • `1.统计该企业员工数量`
      • ` 2.统计该企业员工的平均年龄`
      • `3.统计该企业员工的最大年龄`
      • `4.统计该企业员工的最小年龄`
      • `5.统计西安地区员工的年龄之和`
      • `DQL-分组查询`
        • `分组查询的语法`
        • `Exercises`
          • `1.根据性别分组,统计男性员工和女性员工的数量`
          • `2.根据性别分组,统计男性员工 和 女性员工的平均年龄`
          • `3. 查询年龄小于45的员工,并根据工作地址分组,获取员工数量大于等于三的工作地址`

            SQL

            DQL-聚合函数

            聚合函数将一列数据作为一个整体,进行纵向计算。

            常见的聚合函数

            函数功能
            count统计数量
            max 最大值
            min最小值
            avg平均值
            sum求和

            注意:null值不参与所有聚合函数运算。


            聚合函数使用语法

            SELECT 聚合函数(字段列表)FROM 表名;

            聚合函数Exercises

            1.统计该企业员工数量

            select  count( * )from emp;
            

            【MySQL】学习并使用聚合函数和DQL进行分组查询,在这里插入图片描述,第2张


            2.统计该企业员工的平均年龄

            select avg (age) from emp;
            

            【MySQL】学习并使用聚合函数和DQL进行分组查询,在这里插入图片描述,第3张


            3.统计该企业员工的最大年龄

            select max (age) from emp;
            

            【MySQL】学习并使用聚合函数和DQL进行分组查询,在这里插入图片描述,第4张


            4.统计该企业员工的最小年龄

            select min (age) from emp;
            

            【MySQL】学习并使用聚合函数和DQL进行分组查询,在这里插入图片描述,第5张


            5.统计西安地区员工的年龄之和

            select sum(age) from emp where WORKADDRESS = '西安';
            

            【MySQL】学习并使用聚合函数和DQL进行分组查询,在这里插入图片描述,第6张


            DQL-分组查询

            分组查询的语法

            SELECT 字段列表 FROM 表名 [ WHERE 条件 ] GROUP BY 分组字段名 [ HAVING 分组后过滤条件 ];
            where 和 having 区别
            	                                   执行时机不同:where 是分组之前进行过滤,不满足where 条件,不参与分组;而having 是分组之后对结果进行过滤。
            
            where 和 having 区别
            	                                   判断条件不同:where 不能对聚合函数进行判断,而 having可以。
            

            ⚠️注意:

            • 执行顺序: where > 聚合函数 > having。
            • 分组之后,查询的字段一般为聚合函数和分组字段,查询其它字段无任何意义。

              Exercises

              1.根据性别分组,统计男性员工和女性员工的数量

              select gender ,  count(*) from emp group by  GENDER;
              

              【MySQL】学习并使用聚合函数和DQL进行分组查询,在这里插入图片描述,第7张

              2.根据性别分组,统计男性员工 和 女性员工的平均年龄

              select gender , avg(age) from emp group by gender;
              

              【MySQL】学习并使用聚合函数和DQL进行分组查询,在这里插入图片描述,第8张

              3. 查询年龄小于45的员工,并根据工作地址分组,获取员工数量大于等于三的工作地址

              select WORKADDRESS,  count(*)  from  emp where AGE<45 group by WORKADDRESS having count(*) >= 3;
              

              【MySQL】学习并使用聚合函数和DQL进行分组查询,在这里插入图片描述,第9张

              【MySQL】学习并使用聚合函数和DQL进行分组查询,](https://img-home.csdnimg.cn/images/20220524100510.png#pic_center),第10张

              【MySQL】学习并使用聚合函数和DQL进行分组查询,](https://img-home.csdnimg.cn/images/20220524100510.png#pic_center),第11张