重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
小编给大家分享一下 SQL中GROUP BY有什么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:国际域名空间、网络空间、营销软件、网站建设、山阴网站维护、网站推广。
在SQL中GROUP BY指的是把总数据表切割成若干子数据表,然后再对各个子数据表进行处理,比如我们需要计算下表中每个年级的人数。
grade | name | score |
---|---|---|
一年级 | 小王 | 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语句之后的查询结果入下表:
grade | total |
---|---|
一年级 | 5 |
三年级 | 5 |
二年级 | 5 |
我们来详细的来看一下具体的执行过程,如下图
首先,SQL会根据GROUP BY对总数据表进行切分(按“grade”),分成3个子表格。
然后对每个子表格的“name”字段进行COUNT AS(total)计算,再合并生成最后的数据。
同样的道理我们还可以计算每个年级的平均分。
输入SQL语句
SELECT grade total,avg(score) as avg FROM tbl GROUP BY grade;
结果
grade | avg |
---|---|
一年级 | 57 |
三年级 | 57 |
二年级 | 57 |
具体过程,如图
以上是“ SQL中GROUP BY有什么用”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!