sql中 group by多个字段,对所有字段做group by

表内容

《sql中 group by多个字段,对所有字段做group by》
三列内容,其中有重复的内容

一个group by

首先是大家都明白的一个group by操作,用B做group by的条件,a一共有4个,b一共有6个

select count(A),B from test_table group by B

《sql中 group by多个字段,对所有字段做group by》

同理

select count(A),C from test_table group by C

《sql中 group by多个字段,对所有字段做group by》

两个group by

其实就是做了两次聚合,如下例子,先对B列做一个聚合,再对C列做一次
先对B列进行拆分,拆分成a,b两个,然后分别针对a和b进行拆分。a对应所有的C的字段a-甲,a-乙,b也是同理

select count(A),B,C from test_table group by B,C

《sql中 group by多个字段,对所有字段做group by》

三个group by

如果还是做聚合的操作的话,和两个group by的原理是一样的,都是分别进行拆分。如果只有三个字段,然后还进行三个group by,那么就可以理解为是一种去重操作,举例

select A,B,C from test_table group by A,B,C

《sql中 group by多个字段,对所有字段做group by》
但是本质上还是对A列先进行拆分,分为1和2两个元素,针对1和2在进行拆分,1对应的B列有a和b,然后B列中的a也有甲乙两个字段。通俗理解还是去重比较好理解

    原文作者:Foools
    原文地址: https://blog.csdn.net/Foools/article/details/117950313
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞