基本概念:
- 常用聚合函数:count、max、min、avg、sum,对一整体数据进行计算
- group by:用来分组
- where:条件查询
- having:分组后条件查询
疑问:
- group by配合聚合函数和where配合聚合函数有什么不同?
- 为啥 group by一定要配合聚合函数才能使用?
- where和having都是条件,有啥区别?
有张员工表:
对来自深圳的员工进行统计
SQL:select wordaddress,count(id) from emp where wordaddress='深圳';
过程:
统计每个城市的员工数
SQL:select wordaddress,count(wordaddress) from emp group by wordaddress;
过程:
这里可以看出分组是为对每一个分组表进行处理,所以group by一定要配合聚合函数,不然他分组就没有意义了。
找出城市的员工数大于等于3的城市
SQL:select wordaddress,count(wordaddress) address_count from emp group by wordaddress having address_count>=3;
过程:
having其实就是对分组结果表进行条件查询