Oraclerollup和cube分析

rollup是对group by的扩展,会进行小计和合计,而cube包含rollup,是粒度更精细的小计和合计。当只有一个字段时,rollup和cube是一样的。 可用grouping对rollup和cube进行测试:0看;1不看[看表示列有显示,不看表示没有显示] ① rollup ㈠ 什么都不看 ㈡ 从

rollup是对group by的扩展,会进行小计和合计,而cube包含rollup,是粒度更精细的小计和合计。当只有一个字段时,rollup和cube是一样的。

可用grouping对rollup和cube进行测试:0看;1不看[看表示列有显示,不看表示没有显示]

① rollup

㈠ 什么都不看

㈡ 从左往右

-

┌ 先看第1个

│ 再看前2个

└ 后看前3个

② cube:0、1全排列

rollup

rollup后面指定的列以逗号分隔,rollup的计算结果和其后面指定的列的顺序有关,因为rollup的分组具有方向性。若指定n列,则有n+1种分组方式。可改变列的顺序,达到不同的业务需求。一定要牢记列的顺序对结果的影响!

例子:

1.20:32:51 scott@ORCL (^ω^) select a.dname,b.job,sum(b.sal) sum_sal,grouping(a.dname),grouping(b.job)

2.20:33:06 2 from dept a,emp b

3.20:33:06 3 where a.deptno=b.deptno

4.20:33:06 4 group by rollup(a.dname,b.job)

5.20:33:08 5 /

6.

7.DNAME JOB SUM_SAL GROUPING(A.DNAME) GROUPING(B.JOB)

8.---------- ---------- ---------- ----------------- ---------------

9.SALES CLERK 950 0 0

10.SALES MANAGER 2850 0 0

11.SALES SALESMAN 5600 0 0

12.SALES 9400 0 1

13.RESEARCH CLERK 1200 0 0

14.RESEARCH ANALYST 7000 0 0

15.RESEARCH MANAGER 2975 0 0

16.RESEARCH 11175 0 1

17.ACCOUNTING CLERK 1300 0 0

18.ACCOUNTING MANAGER 2450 0 0

19.ACCOUNTING PRESIDENT 5000 0 0

20.ACCOUNTING 8750 0 1

21. 29325 1 1

22.

23.已选择13行。

解释:什么都不看(1,1);从左往右,先看第一个(0,1)

可以将不需要进行小计和合计的列移出rollup,要小计的留在rollup里面。

比如:

1.20:48:37 scott@ORCL (^ω^) select a.dname,b.job,sum(b.sal) sum_sal,grouping(a.dname),grouping(b.job)

2.20:57:43 2 from dept a,emp b

3.20:57:43 3 where a.deptno=b.deptno

4.20:57:43 4 group by a.dname,rollup(b.job)

5.20:57:45 5 /

6.

7.DNAME JOB SUM_SAL GROUPING(A.DNAME) GROUPING(B.JOB)

8.---------------------------- ------------------ ---------- ----------------- ---------------

9.SALES CLERK 950 0 0

10.SALES MANAGER 2850 0 0

11.SALES SALESMAN 5600 0 0

12.SALES 9400 0 1

13.RESEARCH CLERK 1200 0 0

14.RESEARCH ANALYST 7000 0 0

15.RESEARCH MANAGER 2975 0 0

16.RESEARCH 11175 0 1

17.ACCOUNTING CLERK 1300 0 0

18.ACCOUNTING MANAGER 2450 0 0

19.ACCOUNTING PRESIDENT 5000 0 0

20.ACCOUNTING 8750 0 1

21.

22.已选择12行。

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:php中文网

oracle中cube的作用,Oraclerollup和cube分析相关推荐

  1. oracle下的inventory文件夹,Oracle中Inventory目录作用以及如何重建此目录

    Oracle中Inventory目录作用以及如何重建此目录 oraInventory存放的是Oracle软件安装的目录信息,Oralce的安装升级都需要用到这个目录,来看看Oracle文档中对这个目录 ...

  2. oracle重建inventory,Oracle中Inventory目录作用以及如何重建此目录-Oracle

    Oracle中Inventory目录作用以及如何重建此目录 oraInventory存放的是Oracle软件安装的目录信息,Oralce的安装升级都需要用到这个目录,来看看Oracle文档中对这个目录 ...

  3. oracle 中触发器的作用是什么,oracle创建触发器及作用举例

    --创建触发器及作用举例 create or replace trigger tri before delete on emp --在删除emp表数据之前需要做的事根据自己的业务去写,before是在 ...

  4. oracle中redo的作用,深入浅出Oracle:Redo的作用

    Oracle通过Redo来保证数据库的事务可以被重演,从而使得在故障之后,数据可以被恢复.Redo对于Oracle数据库来说至关重要. 在数据库中,Redo的功能主要通过3个组件来实现:Redo Lo ...

  5. 技术分享 oracle中fm的作用

    SQL> select '|'||to_char(5,'999')||'|' from dual; 结果为:| 5| SQL> select '|'||to_char(5,'000')|| ...

  6. oracle中tns作用,Oracle 中TNS的作用

    什么是TNS? TNS是Oracle Net的一部分,专门用来管理和配置Oracle数据库和客户端连接的一个工具,在大多数情况下客户端和数据库要通讯,必须配置TNS,当然在少数情况下,不用配置TNS也 ...

  7. oracle中同义词的作用,Oracle中使用同义词

    一.背景 有两个sid:Asid,Bsid,在Asid下有两个用户Auser1,Auser2,在Bsid下有一个用户Buser1.其中Auser2和Buser1建立了dblink.现希望通过登录Bus ...

  8. Oracle中的各种NAME

    Oracle的Name分类 我们知道,Oracle中的各种NAME会在我们的各个配置文件中经常出现,大致有以下这些: 在init.ora中有DB_NAME,INSTANCE_NAME,SERVICE_ ...

  9. Oracle中SID INSTANCE_NAME Service_Name DB_Name等的介绍

    Oracle中SID INSTANCE_NAME Service_Name DB_Name等的介绍 在Oracle数据库中有SID.Service_Name.TNS_Name.DBName等名称,估计 ...

  10. oracle group by 两项,Oracle中group by 的扩展函数rollup、cube、grouping sets

    Oracle的group by除了基本使用方法以外,还有3种扩展使用方法,各自是rollup.cube.grouping sets.分别介绍例如以下: 1.rollup 对数据库表emp.如果当中两个 ...

最新文章

  1. activiti监听器使用
  2. Beetlex之tcp/tls服务压测工具
  3. UnrealEngine4 - 关于UObject被自动GC垃圾回收的巨坑
  4. SpringBoot:Unable to start LiveReload server(已解决)
  5. IOS APP 上传到AppStore
  6. Python 辛普森积分法 simps计算sin(x)的值(完美实现)
  7. 反向题在测试问卷信效度_问卷的信度与效度
  8. CAN网络矩阵详解,摩托罗拉(Motorala)大端序,英特尔(Intel)小端序
  9. 首届InterSystems Idea创意马拉松
  10. 什么是微信分销商城?
  11. (安卓免费抓包软件)安卓7以上版本微信内部无法抓包的完美解决方案
  12. “云原生”技术公开课第3章:Kubernetes 核心概念
  13. 邮箱发信数量被限制了,有什么方法可以解决么?
  14. ubuntu为软件设定图标
  15. JAVA毕业设计花卉网站计算机源码+lw文档+系统+调试部署+数据库
  16. C#:查找文件所在位置
  17. 微信html5图片裁切,微信小程序图片裁剪工具we-cropper
  18. Vue-cli使用prerender-spa-plugin插件预渲染的问题
  19. 如何写好一份解决方案?
  20. conda虚拟环境常见操作

热门文章

  1. css3图片上下浮动动画
  2. Docker中LNMP分布式容器部署
  3. 用html任选一首诗自动排版,利用 html2canvas 做个简单的诗词卡片生成器
  4. 计算机不能识别华为手机,华为手机链接电脑无法识别是为什么?
  5. 智能手机企业现状 行业发展趋势
  6. 分布式定时任务框架Uncode-Schedule技术介绍
  7. 如何优化Web服务器以实现高吞吐量和低延迟
  8. 俄亥俄州立大学计算机科学系,俄亥俄州立大学计算机科学与工程系教授张殷乾老师来实验室作学术报告...
  9. C语言:数组排序(冒泡法排序)
  10. rovio环境配置与测试笔记