ORACLE命令 CUBE

Oracle分组函数之CUBE Oracle的CUBE与ROLLUP功能很相似,也是在数据统计分析领域的一把好手。  关于ROLLUP的查询统计功能请参考文章《【ROLLUP】Oracle分组函数之ROLLUP魅力》(http://space.itpub.net/519536/viewspace-610995)。1.先看一下ROLLUP的数据统计效果1)创建测试表group_testSECOOLER@ora11g> cre... 阅读详情

基本命令:GROUP BY CUBE(字段列表);


CUBE命令根据字段列表,生成不同的排列组合,并根据每一种组合结果,生成统计汇总。


比如:GROUP BY CUBE( city, job, age );排列组合的结果如示:

1)city,job,age

2)city, job

3)city



4)job, age 

5)age 



6)city , age 

7) job 


所以就有7种排列组合。


2)根据每一种排列组合,生成不同的统计汇总,如下:

 1) group by cube(city, job ,age );

 2)   group by cube(city, job);

 3)  group by cube(city);


  4)group by cube(job, age );

  5)group by cube(age);


  6)group by cube(city, age);

  7)group by cube(job);


 

举例说明:

1)先统观我们要用到的表(TABLE ):

SQL> SELECT * FROM EMP ;
 
     EMPNO ENAME      JOB         MGR HIREDATE          SAL DEPTNO
---------- ---------- --------- ----- ----------- --------- ------
      7369 SMITH      CLERK      7902 1980/12/17     800.00     20
      7499 ALLEN      SALESMAN   7698 1981/2/20     1600.00     30
      7521 WARD       SALESMAN   7698 1981/2/22     1250.00     30
      7566 JONES      MANAGER    7839 1981/4/2      2975.00     20
      7654 MARTIN     SALESMAN   7698 1981/9/28     1250.00     30
      7698 BLAKE      MANAGER    7839 1981/5/1      2850.00     30
      7782 CLARK      MANAGER    7839 1981/6/9      2450.00     10
      7788 SCOTT      ANALYST    7566 1987/4/19     3000.00     20
      7839 KING       PRESIDENT       1981/11/17    5000.00     10
      7844 TURNER     SALESMAN   7698 1981/9/8      1500.00     30
      7876 ADAMS      CLERK      7788 1987/5/23     1100.00     20
      7900 JAMES      CLERK      7698 1981/12/3      950.00     30
      7902 FORD       ANALYST    7566 1981/12/3     3000.00     20
      7934 MILLER     CLERK      7782 1982/1/23     1300.00     10
2) 根据职业(JOB)求不同职业的平均薪水(SAL):

SQL> SELECT JOB, AVG(SAL) FROM EMP GROUP BY JOB ORDER BY JOB ASC ;
 
JOB         AVG(SAL)
--------- ----------
ANALYST         3000
CLERK           1037.5
MANAGER         2758.33333
PRESIDENT       5000
SALESMAN        1400

3)根据不同部门(DEPTNO),不同职业(JOB),求平均薪水(SAL):

SQL> SELECT JOB, DEPTNO , AVG(SAL) FROM EMP GROUP BY JOB , DEPTNO ORDER BY JOB;
 
JOB       DEPTNO   AVG(SAL)
--------- ------ ----------
ANALYST       20       3000
CLERK         10       1300
CLERK         20        950
CLERK         30        950
MANAGER       10       2450
MANAGER       20       2975
MANAGER       30       2850
PRESIDENT     10       5000
SALESMAN      30       1400
-- 可以看到不同部门(DEPTNO:10,20,30)的平均年薪水AVG(SAL)是不一样的。

4)统计汇总:

 
SQL> SELECT JOB, DEPTNO, AVG(SAL) FROM EMP GROUP BY CUBE(JOB, DEPTNO) ORDER BY JOB DESC ;
 
JOB       DEPTNO   AVG(SAL)
--------- ------ ----------
              10 2916.66666
              20       2175
              30 1566.66666
                 2073.21428
SALESMAN      30       1400
SALESMAN               1400
PRESIDENT     10       5000
PRESIDENT              5000
MANAGER       10       2450
MANAGER       20       2975
MANAGER       30       2850
MANAGER          2758.33333
CLERK         10       1300
CLERK         20        950
CLERK         30        950
CLERK                1037.5
ANALYST       20       3000
ANALYST                3000

---18 rows selected  。。///共有18行结果

我们来看看:group by cube(JOB,DEPTNO) order by JOB desc ; 根据JOB ,DEPTNO进性统计汇总,排列组合如下:

1)JOB,DEPTNO  

2)  JOB

3)DEPTNO

4)去掉JOB和DEPTNO

统计汇总如下:

1)根据JOB,DEPTNO  统计汇总,结果如下:

SALESMAN      30       1400
PRESIDENT     10       5000
MANAGER       10       2450
MANAGER       20       2975
MANAGER       30       2850
CLERK         10       1300
CLERK         20        950
CLERK         30        950
ANALYST       20       3000
--9 rows selected。。//9行结果。

2)根据JOB统计汇总,结果如下:


SALESMAN               1400

PRESIDENT              5000

MANAGER                 2758.33333

CLERK                       1037.5

ANALYST                    3000

。。//共5行被选取。


3)根据DEPTNO统计汇总结果如下:

              10       2916.66666
              20       2175
              30       1566.66666
。。//共3行被选取。
4)剩下最后一行:
                 2073.21428
。。//剩下最后1行,
为了验证这个结果是否准确,测试下:
SQL> SELECT AVG(SAL) FROM EMP;
 
  AVG(SAL)
----------
2073.21428



--//累计9+5+3+1=18与
 SELECT JOB, DEPTNO, AVG(SAL) FROM EMP GROUP BY CUBE(JOB, DEPTNO) ORDER BY JOB DESC ;
查询结果相同

GROUP BY CUBE( );通过举例说明,应该还是很容易理解的。







 






























生成对抗网络——CGAN(代码+理解) CGAN(Conditional Generative Adversarial Network)模型是一种 深度学习模型,属于生成对抗网络(GAN)的一种 变体。它的 基本思想是通过 训练生成器和判别器两个网络,使生成器能够生成与给定条件 相匹配的 合成数据,而判别器则 负责区分真实数据和 生成数据。相比于GAN它引入了条件信息(y),使得生成器可以生成与给定条件相匹配的合成数据,从而提高了生成数据的可控性和针对性。 阅读详情

相关推荐

群晖NAS断电后IP变了?3步搞定静态IP设置(附Linux挂载指南)

本文针对群晖NAS因断电重启导致IP地址变化的问题,提供了从根源到实践的完整解决方案。核心内容包括如何为NAS配置静态IP以彻底解决连接中断,并详细讲解了在Linux系统中通过NFS协议稳定挂载NAS共享文件夹的步骤与指南,确保网络存储服务持久可靠。

weixin_29271263的博客 853

【数据统计分析】详解Oracle分组函数之CUBE

01 看一下ROLLUP的数据统计效果 1)创建测试表group_test 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)...

huang714的专栏 1158

【复现论文】Looking here or there? Gaze Following in 360-Degree Images

论文:Looking here or there?

RichardoMu的博客 1129

cube和物化视图

为什么80%的码农都做不了架构师?>>> ...

weixin_33991727的博客 600

地瓜机器人RDK Studio使用入门教程

不知道大家在使用AI开发板的时候有没有遇到过板子官方镜像占据空间大难以保存,想要的时候找不到?官方示例项目久而久之便难以找寻?首次登陆开发板连接网络还需要准备显示器键盘鼠标外设繁杂?…为了解决平时开发过程中遇到的种种不便利问题,地瓜机器人创新的推出了RDK Studio这一官方开发者软件,使智能机器人开发迎来新纪元!通过这一软件极大降低了机器人的开发门槛,哪怕是零基础的用户亦可轻松上手RDK系列板卡!

xiongqi123123的博客 3429

遗传算法优化光学超表面:智能设计突破纳米结构瓶颈

光学超表面设计本质上是一个高维、非线性、离散每个结构单元(如纳米砖柱、孔洞、十字架)有多个参数(长、宽、高、旋转角、材料),整个阵列的参数组合数量随单元数指数级增长。性能指标(如聚焦效率、工作带宽、偏振转换率、特定角度响应)往往无法用简单解析式表达,需依赖计算密集型电磁仿真(如FDTD, FDFD, RCWA)来评估。结构参数微小变化可能引起光学响应的剧烈跃变,目标函数存在多个局部最优解。实际制造通常要求结构参数取自有限的离散值(如特定刻蚀深度、材料库)。

weixin_51101456的博客 1141

oracle cude报错,解析OracleOLAP使用MView刷新Cube

Cube在Oracle数据库中的应用非常广泛,特别是在产生交叉报表的情况。OracleOLAP使用MView刷新cube的方法是比较常用的。我们用Oracle数据库创建了一个cube ,这时cube 里面的数据只有在我们手工执行。dbms_cube.build(‘’) 才会被刷新。比如你在前面已经建立好了global 的price_cube , 并且执行了第一次dbms_cube.build(‘p...

weixin_39762666的博客 320

打通ZYNQ的任督二脉:AXI_FIFO数据交互全解析

FIFO(First In First Out,先进先出)是一种经典的数据缓冲结构,就像排队买票一样,先来的人先得到服务。时钟域交叉(CDC):连接不同时钟频率的模块数据缓冲:平衡生产者和消费者的速度差异流量控制:防止数据丢失或溢出input clk,// 输入AXI4-Stream接口(从PS到PL)// 输出AXI4-Stream接口(从PL到PS)// 状态指示信号// 定义状态机状态// 数据缓存// 8个深度的缓存// 流水线处理寄存器。

QQ_778132974的博客 306

【CUBE】Oracle分组函数之CUBE魅力

Oracle的CUBE与ROLLUP功能很相似,也是在数据统计分析领域的一把好手。 关于ROLLUP的查询统计功能请参考文章《【ROLLUP】Oracle分组函数之ROLLUP魅力》(http://space.i...

cuanchuwei1207的博客 819

【产品经理修炼之道】- 优惠券系统从入门到精通(二)

在电商平台中,优惠券的使用场景与频次都很高。那么如何做好一个优惠券系统呢?本文总结了相关流程和设计思路,希望对你有所帮助。上一篇与大家分享了架构中的前端应用、生命周期、优惠券管理中OpenAPI 、基础系统,今天继续与大家分享架构图中优惠券模板部分。

xiaoli8748的专栏 1292

ssd训练自己的数据集

基于SSD实现目标检测(训练自己的数据集)

reset2021的博客 6804

oracle cube排序,Oracle命令CUBE

Oracle基本命令:GROUP BY CUBE(字段列表);CUBE命令根据字段列表,生成不同的排列组合,并根据每一种组合结果,生成统计汇总。比Oracle基本命令:GROUP BY CUBE(字段列表);CUBE命令根据字段列表,生成不同的排列组合,并根据每一种组合结果,生成统计汇总。比如:GROUP BY CUBE( city, job, age );排列组合的结果如示:1)city,job...

weixin_30647853的博客 380

2026数学建模国赛D题:时频冲突检测与消解 论文解析

最终无需撤销任何计划,共调整110个计划,其中频移43个、时移48个、间隔调整19个,总调整幅度528。附件模板只要求填写新增计划的频段区间和首次时间区间,没有要求填写宽度、间隔和次数,因此本文按附件中C类装备的统一需求特征处理:每个新增计划占用3个连续频段,持续2个时间单位,间隔8,使用12次。本文针对有限频带内大量周期性用频计划的时频冲突检测、单参数消解、无冲突条件下新增C类计划装载,以及允许调整间隔时长后的再次消解问题,建立了由占用展开、冲突图、组合动作集、精确约束满足和二维资源装箱组成的统一模型。

YOLO 190

mysql cube_Oracle命令 CUBE

Oracle基本命令:GROUP BY CUBE(字段列表);CUBE命令根据字段列表,生成不同的排列组合,并根据每一种组合结果,生成统计汇总。比Oracle基本命令:GROUP BY CUBE(字段列表);CUBE命令根据字段列表,生成不同的排列组合,并根据每一种组合结果,生成统计汇总。比如:GROUP BY CUBE( city, job, age );排列组合的结果如示:1)city,job...

weixin_32924297的博客 222

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

使用CUBE和ROLLUP对数据进行汇总

作者: cyw,  出处:IT专家网, 责任编辑: 李书琴,    本文以北京的一家宠物超市的货源供应链为例,为大家介绍如何将CUBE命令加载到SQL当中……   【IT专家网独家】想要找一个既快捷又有效的方法来对您存储在数据库里的数据进行汇总分析吗?SQL语言中的ROLLUP和CUBE命令提供了一个非常有用的工具,可以让您快速深入地获取数据的各种内在性质。ROLLUP和CUBE是SQ...

weixin_34211761的博客 278

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

oracle小知识点讲解,Oracle 常用小知识点汇集

使用sqlldr导入数据:1.control控制文件的写法:load datainfile使用sqlldr导入数据:1.control控制文件的写法:load datainfile 'E:\netbu.csv'insertinto table temp_zhuren_needFIELDS TERMINATED BY ','TRAILING NULLCOLS --表的字段没有对应的值时允许为空(空格...

weixin_39831104的博客 114

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

使用 STM32Cube 之前需要解决的问题

首发于我的个人博客(https://www.niuiic.top) 本文介绍在 linux 上 STM32Cube 系列工具使用之前需要解决的问题。 Error: Could not find or load main class com.st.app.Main 原因:未使用支持 javafx 的 jdk8。 解决方案:可以尝试安装具有 javafx 的 openjdk。注意该 javafx 需要有对 webkit 的支持。或者直接安装 Oracle 的闭源 jdk8。安装方法 terminal t

niuiic的博客 830

oracle小知识点讲解,Oracle常用小知识点汇集

使用sqlldr导入数据:1.control控制文件的写法:load datainfile使用sqlldr导入数据:1.control控制文件的写法:load datainfile 'E:\netbu.csv'insertinto table temp_zhuren_needFIELDS TERMINATED BY ','TRAILING NULLCOLS --表的字段没有对应的值时允许为空(空格...

weixin_32200879的博客 156

ORA-4063 SYS.DBMS_CUBE_EXP

ORA-4063 SYS.DBMS_CUBE_EXP CAUSE OLAP objects remain existing in data dictionary while OLAP is not ...

cuanchi1413的博客 642

flow在oracle,jumflow

编辑删除linux共享内存段研究无论是在unix或者是linux都有命令查看主机共享内存段的使用情况,以下研究来自linux平台。一、查看Oracle用户共享内存段使用情况引用[oracle@capaa ~]$ ipcs------ Shared Memory Segments ------...原创151002012-06-07 20:28编辑删除ROW_NUMBER() OVER() 分...

weixin_35940511的博客 225

oracle期末重点,oracle期末考试重点归纳

选择题2.Rank() 和dense_rank()区别:Rank() 计算一个值在一组值中的排位,排位是以1开头的连续整数。具有相等值的行排位相同,序数随后跳跃相应的数值,即如果两行的序数为1,则没有序数2,下一行的序号为3例如:1,1,3,4,5……dense_rank()计算一个行在一组有序行中的排位,排位是以1开头的连续整数。具有相等值的行排位相同,并且排位是连续的。例如:1,1,2,3,4...

weixin_32645173的博客 261

oracle中cube是什么,oracle中rollup和cube的用法

1、 OracleROLLUP和CUBE 用法Oracle的GROUP BY语句除了最基本的语法外,还支持ROLLUP和CUBE语句。如果是Group by ROLLUP(A, B, C)的话,首先会对(A、B、C)进行GROUP BY,然后对(A、B)进行GROUP BY,然后是(A)进行GROUP BY,最后对全表进行GROUP BY操作。如果是GROUP BY CUBE(A, B, C)...

weixin_34693167的博客 1435

数据仓库与BI面试常见题目

一、 数据库 1、 Oracle数据库,视图与表的区别?普通视图与物化视图的区别?物化视图的作用? 2、 Oracle数据库,有哪几类索引,分别有什么特点? 3、 Union与Union All的区别? 4、 对游标的理解?游标的分类?使用方法? 5、 如何查找和删除表中的重复数据?给出方法或SQL。 6、 不借助第三方工具,怎么查看SQL的执行计划? 7、 创建索引有哪些需要注意的

数据王子 2万+

Oracle中rollup与cube

ROLLUP函数用于生成一个分组聚合的层次结构。它从最详细的级别开始,逐步向上聚合,直到达到一个总的聚合级别。ROLLUP可以生成一个分组的层次结构,从最具体的级别(所有列)到最不具体的级别(没有列,即总计)。ROLLUP和CUBE是Oracle数据库中非常有用的工具,它们能够帮助我们以更高效的方式进行数据聚合。然而,使用这些函数时,我们也需要考虑到它们可能带来的性能开销,并在必要时采取优化措施。

m0_73549087的博客 924

ORACLE ROLLUP和CUBE的使用

ROLLUP,是GROUP BY子句的一种扩展,可以为每个分组返回小计记录以及为所有分组返回总计记录。CUBE,也是GROUP BY子句的一种扩展,可以返回每一个列组合的小计记录,同时在末尾加上总计记录。 在文章的最后附上了相关表和记录创建的脚本。 1、向ROLLUP传递一列SQL> select division_id,sum(salary)  2  from emplo

朝着梦想 渐行前进 2万+
上一篇: ORACLE命令 ROLLUP
下一篇: ORACLE命令 group by having
错_对
博客等级 码龄16年 68粉丝 80原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值