SQL中GROUP BY的理解

  在SQL中GROUP BY指的是把总数据表切割成若干子数据表,然后再对各个子数据表进行处理,比如我们需要计算下表中每个年级的人数。

gradenamescore
一年级小王51
一年级小魏61
一年级小张71
一年级小李51
一年级小王51
二年级中王51
二年级中魏61
二年级中张71
二年级中李51
二年级中王51
三年级大王51
三年级大魏61
三年级大张71
三年级大李51
三年级大王51

  输入SQL语句

SELECT grade total,COUNT(name) AS total FROM tbl GROUP BY grade; 

  输入SQL语句之后的查询结果入下表:

gradetotal
一年级5
三年级5
二年级5

我们来详细的来看一下具体的执行过程,如下图

SQL中GROUP BY的理解
  首先,SQL会根据GROUP BY对总数据表进行切分(按“grade”),分成3个子表格。
  然后对每个子表格的“name”字段进行COUNT AS(total)计算,再合并生成最后的数据。
  同样的道理我们还可以计算每个年级的平均分。
  输入SQL语句

SELECT grade total,avg(score) as avg FROM tbl GROUP BY grade; 

结果

gradeavg
一年级57
三年级57
二年级57

具体过程,如图
SQL中GROUP BY的理解

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值