DQL分组查询:
1.语法:select 字段列表 from 表名 [where 条件] group by 分组字段名 [having 分组后过滤条件];
where和having的区别:
执行时机不同:where是分组之前进行过滤,不满足wehere条件,不参与分组;而having是分组之后对结果进行过滤
判断条件不同:where不能对聚合函数进行判断,而having可以
注意:
执行顺序:where>聚合函数>having
分组之后,查询的字段一般为聚合函数和分组的字段,查询其他字段毫无意义
代码:
select sex,count(*) from emp group by sex;/*根据性别分组,统计男员工和女员工的数量 */select sex,avg(age) from emp group by sex;/*根据性别分组,统计男员工和女员工的平均年龄 */
select idcard,count(*) as idCount from emp where age<18 group by idcard having idCount>=3;/*查询年龄小于18的员工,并根据idcard分组,获取员工数量大于等于3的idcard */ 标签:查询,分组,DQL,sex,where,having,select From: https://www.cnblogs.com/123456dh/p/17284489.html