group by 分组的使用方法
苟分的老6
正文
一、语法格式
格式: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的数据
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本