博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Oracle分组函数cube VS rollup
阅读量:4841 次
发布时间:2019-06-11

本文共 1844 字,大约阅读时间需要 6 分钟。

分析函数cube和rollup魅力

首先请看下面例子
1)创建表
create table group_test (group_id int, job varchar2(10), name varchar2(10), salary int);
2)初始化表
insert into group_test values (10,'Coding', 'Bruce',1000);
insert into group_test values (10,'Programmer','Clair',1000);
insert into group_test values (10,'Architect', 'Gideon',1000);
insert into group_test values (10,'Director', 'Hill',1000);

insert into group_test values (20,'Coding', 'Jason',2000);

insert into group_test values (20,'Programmer','Joey',2000);
insert into group_test values (20,'Architect', 'Martin',2000);
insert into group_test values (20,'Director', 'Michael',2000);

insert into group_test values (30,'Coding', 'Rebecca',3000);

insert into group_test values (30,'Programmer','Rex',3000);
insert into group_test values (30,'Architect', 'Richard',3000);
insert into group_test values (30,'Director', 'Sabrina',3000);

insert into group_test values (40,'Coding', 'Samuel',4000);

insert into group_test values (40,'Programmer','Susy',4000);
insert into group_test values (40,'Architect', 'Tina',4000);
insert into group_test values (40,'Director', 'Wendy',4000);

commit;

select t.group_id, sum(t.salary) from group_test t group by t.group_id order by 1;

 3)查看rollup函数
select t.group_id, sum(t.salary) from group_test t group by rollup(t.group_id)order by 1; 
 select t.group_id,job,  sum(t.salary) from group_test t group by rollup(t.group_id,job) order by 1;  

4)查看cube函数

select t.group_id, sum(t.salary) from group_test t group by cube(t.group_id)order by 1;

 由此可见rollup以及cude函数是group by函数的扩展,方便用来做小计的分析函数
仔细观察两个函数的细微差别
rollup(a,b)   统计列包含:(a,b)、(a)、()
rollup(a,b,c) 统计列包含:(a,b,c)、(a,b)、(a)、()
……以此类推ing……
cube(a,b)     统计列包含:(a,b)、(a)、(b)、()
cube(a,b,c)   统计列包含:(a,b,c)、(a,b)、(a,c)、(b,c)、(a)、(b)、(c)、()
……以此类推ing……
 
替换成原始的group by字句实际就是union all了不区分ID的一个小汇总。  

转载于:https://www.cnblogs.com/longjshz/p/4537298.html

你可能感兴趣的文章
NFC初步接触
查看>>
Puppet常识梳理
查看>>
iframe内联网页的应用
查看>>
Appium + Python -------------元素定位
查看>>
Linux shell 自启动脚本写法
查看>>
Linux GNU GAS introduction
查看>>
CSS的常用属性(一)
查看>>
scrapy install
查看>>
android 开发 View _13 绘制图片与BitmapShader位图的图像渲染器
查看>>
[bzoj2131]免费的馅饼 树状数组优化dp
查看>>
CreateMutex()参数报错问题
查看>>
Linux三剑客-常用命令
查看>>
Excel的列数以数字格式查看
查看>>
unity 2d 和 NGUI layer
查看>>
Sublime Text shift+ctrl妙用、Sublime Text快捷组合键大全
查看>>
spring security中当前用户信息
查看>>
[中国寒龙出品]VB程序设计视频第十四课,更多请关注我们的官博。
查看>>
LinuxMint 17.1 Cinnamon桌面窗口焦点bug
查看>>
PHP函数
查看>>
缩点 CF893C Rumor
查看>>