8,group by 多字段分组

1,首先,有两个表

a:
image.png

b:
image.png

2,group by 多字段如何分组?

其实,多字段分组与单字段分组原理一样,都是对by后面的字段,具有相同的字段值进行分为一组。
若…group by X(主),Y(次)…,优先找两个字段值都相同的记录分为一组,然后,X字段值相同,Y字段值不同的,Y字段值有几种再分为几组,例如,X1大组中:X1Y1,X1Y2,X1Y3…X2大组中X2Y2,X2Y4…

3,实例,表为1中的两个表

1.问题:查询每个专业中的每个年龄的人数

解析:首先是每个专业中,所以,先对专业分组,然后是每个年龄的人数,再对年龄进行分组。
select 专业,age,count(id)from (select * from a left JOIN b using(id) )ab GROUP BY 专业,age;
结果:
image.png
看渗透这个专业,在渗透大的分组下先按照年龄降序进行排列,然后年龄相同的为一组输出为一列记录。
但,为什么大数据专业排在第一?
因为大数据,第一个字的第一个字母为d.按照abcde…顺序进行排列。

2.问题:查询每个年龄中的每个专业的人数

select age,专业,count(id)from (select * from a left JOIN b using(id) )ab GROUP BY age,专业;
结果:
image.png
综合1,2问题来看:
1,进行分组时若字段值为字母,汉字,按照abc顺序进行排序,若有NULL,排在最前面(这个有兴趣的自己可以分组试试)。若为数字,则从小到大降序排列。

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

虚无-缥缈

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值