SQL中GROUP BY有什么用
小编给大家分享一下 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有什么用”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注蜗牛博客行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:niceseo99@gmail.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。版权声明:如无特殊标注,文章均为本站原创,转载时请以链接形式注明文章出处。
评论