一张图让你详细理解GroupBy的分组聚合过程-创新互联

原文链接:http://www.datastudy.cc/to/58

开州网站制作公司哪家好,找创新互联!从网页设计、网站建设、微信开发、APP开发、响应式网站建设等网站项目制作,到程序开发,运营维护。创新互联从2013年开始到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联

Group By分组聚合是我们在使用过程中使用最多的SQL之一(另外一个使用最多的估计就是JOIN了吧),为了让大家详细了解Group By的计算执行过程,我们下面使用一张图来详细讲解一下。

一张图让你详细理解Group By的分组聚合过程

我们的数据就是左表,有name和score两列,我们要求每个name下,score的大值,技术术语是:根据每个name进行分组,根据max函数进行聚合(我们和别人交流的时候,记得要这样子说)。

Group by语句先会根据每个name进行分组,把每个name对应的score都放到一个地方,如中间的表格所示。例如,name为b的行,有三个对应的score,其他类推,每个数据库都会做好这一步的准备,也就是Group By操作执行之后,这个中间的数据体就会存在了,它等待着我们调用聚合函数去统计它。

然后,我们的聚合函数要调用的是:max,也就是从一堆数据中,取出大值的函数。聚合函数还有其他值,例如和大值max对应的最小值min,求和sum等等,所有这些聚合函数,都是针对一个数组进行处理的,所谓的数据,就是b里面那三个值。

yes,有了中间那个数据体,我们就可以非常简单地理解所谓的聚合函数了。OK,聚合函数执行完成后,把返回的值交给分组的字段,组合成一行记录,数据库等待所有的分组都执行完成,把数据组合起来,返回给我们。

这个就是整个分组聚合的过程,如果你觉得还是不能理解,那么在本文下面回复吧。

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


本文标题:一张图让你详细理解GroupBy的分组聚合过程-创新互联
网页URL:http://pwwzsj.com/article/deegcd.html