分组查询是指使用GROUP BY语句对查询信息进行分组,相同数据作为一组
SELECT 字段1,字段2...表名 GROUP BY 分组字段 [HAVING 条件]
GROUP BY怎么分组的?将分组字段结果中相同内容作为一组
SELECT * FROM hero GROUP BY sex;
这句话会将sex相同的数据作为一组,但是会返回每组的第一条,没有任何意义
分组的目的是为了统计,一般分组会根聚合函数一起使用
分组后聚合函数的作用?不是操作所有数据,而是操作一组数据。
SELECT SUM(life) FROM hero GROUP BY sex
效果如下
注意事项:当我们使用某个字段分组,在查询的时候也需要将这个字段查询出来,否
则看不到数据属于哪组所有最好是这样
SELECT SUM(life),sex FROM hero GROUP BY sex
分组后的条件查询注意使用[HAVING 条件]
having与where的区别
1.having是在分组后对数据进行过滤
2.where是在分组前对数据进行过滤
3.having后面可以使用聚合函数
4.where后面不可以使用聚合函数