-
分组查询
- 语法:select 字段列表 from 表名[where 条件] group by 分组字段名 [having 分组后过滤条件];
- group by
- 具体代码
-
-- 1.根据性别分组,统计男性和女性的员工数量 select gender, count(*) -- 分组字段+聚合函数 from tb_emp group by gender;
- having
- 具体代码
-
-- 2.先查询入职时间在’2015-01-01‘(入职)的员工,并对结果进行职位分组,获取员工数量>=2的职位 select job, count(*) from tb_emp where entrydate <= '2015-01-01' group by job having count(*) >= 2;
-
小结
- where 和having区别(面试题目)
- 执行时机不同:where是分组之前进行过滤,不满足where条件,不参与分组;而having是对分组后对结果进行过滤
- 判断条件不同:where不能对聚合函数进行判断,而having可以对聚合函数进行判断
- where 和having区别(面试题目)
-
注意事项
- 分组之后,查询字段一般为聚合函数和分段字段,查询其它字段无意义
- 执行顺序:where>聚合函数>having
MySQL-DQL-分组查询
猜你喜欢
转载自blog.csdn.net/weixin_64939936/article/details/131775336
今日推荐
周排行