group by 分组的使用方法

一、语法格式

格式:group by 字段

注:

  根据查询结果,选择字段进行分组,一般会和聚合函数一块使用,用于统计和计算分组数据;

  后面可跟having来进行二次筛选,不能跟where,where是在group by之前使用的;

  如果选择分组的字段有多个值,只会选择第一个;

  使用group by 时,select后面跟聚合函数和进行分组的字段,其他字段没有意义;

二、场景应用

数据表

 

 

 场景一、根据一个字段shop_type进行分组

 

注:会发现好几个门店类型都是1,但是只查询出了门店1,这就是有多个值的话只选择第一个;

 

场景二、根据两个字段org_id,shop_type进行分组

俩字段分组的原理:

 注:只有第一个字段有相同值,才会更具第二个字段进行分组

 

场景三、与聚合函数配合使用

count(): 求查询结果的个数,括号中可写字段、*,表示:org_id为1的数量有12个

 

max(): 求字段的最大值

 

min(): 求字段的最小值

sum(): 求字段的和

 

avg(): 求字段的平均值

场景四、group_concat()和with rollup

  

group_concat()是把分组后,每个组里面的值都显示出来

with rollup 是在统计字段的总和

 

 

场景五、与having配合使用

having是对分组后的数据进行二次筛选的,除了和where操作一样外,还可以配合聚合函数使用;

查询org_id大于10的数据,并根据org_id进行分组,对分组后的数据进行筛选,筛选出shop_type和大于20的数据

 

posted @ 2022-11-10 15:06  呆萌呆萌呆萌  阅读(667)  评论(0编辑  收藏  举报