Rollup与group by组合使用,可对分组结果进行进一步的汇总。

 

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

创建数据表

select * from emp_test

Group By Rollup Oracle 第1张

 

(1) rollup单个字段

如按照country字段进行分组,并在最后追加一条汇总所有country的值

select GENDER,COUNTRY,count(1)
from emp_test
group by rollup (COUNTRY)

Group By Rollup Oracle 第2张

 

(2) rollup多个字段

按照gender,country字段进行分组,并针对每一个country追加一条汇总值,并在最后追加一条所有country汇总

select GENDER,COUNTRY,count(1)
from emp_test
group by rollup (COUNTRY,GENDER)

Group By Rollup Oracle 第3张


rollup后面的字段顺序不同,结果也不同,取决于第一个字段,如:
select GENDER,COUNTRY,count(1)
from emp_test
group by rollup (GENDER,COUNTRY)

Group By Rollup Oracle 第4张

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄