ORACLE的分组统计之CUBE(二)】的更多相关文章

cube统计包含了rollup的统计结果,而且还有其他组合分组结果(小计),CUBE(n列),那么分组种类有: cube分组就是先进行合计(一个不取),然后小计(到),最后取标准分组. 与rollup不同,CUBE计算结果和列的顺序无关,如果列顺序不同,默认的结果排序则不同. SQL> select a.dname,b.job,sum(b.sal) sumsal from scott.dept a,scott.emp b where a.deptno=b.deptno group by cube…
Oracle 9i以后,扩展了group by 的功能,能够满足大部分多维数据的分析统计功能,主要表现: 1. rollup,cube,grouping sets 扩展group by字句提供了丰富的多维分组统计功能: 2. 3个扩展分组函数:grouping,grouping_id,group_id提供扩展group by的辅助功能:提供区别结果行属于哪个分组级别,区分NULL值,建立有意义的报表,对汇总结果排序,过滤结果行等: 3.对扩展group by允许按重复列分组,组合列分组,连接分组…
原文地址:http://blog.csdn.net/u014558001/article/details/42387929 本文主要讲解 ROLLUP, CUBE, GROUPING SETS的主要用法,这些函数可以理解为GroupBy分组函数封装后的精简用法,相当于多个union all 的组合显示效果,但是要比 多个union all的效率要高. 其实这些函数在时间的程序开发中应用的并不多,至少在我工作的多年时间中没用过几次,因为现在的各种开发工具/平台都自带了这些高级分组统计功能,使用的方…
Oracle按不同时间分组统计 Oracle按不同时间分组统计的sql 如下表table1: 日期(exportDate) 数量(amount) -------------- ----------- 14-2月 -08 20 10-3月 -08 2 14-4月 -08 6 14-6月 -08 75 24-10月-09 23 14-11月-09 45 04-8月 -10 5 04-9月 -10 44 04-10月-10 88 注意:为了显示更直观,如下查询已皆按相应分组排序 1.按年份分组 sel…
视频课程:李兴华 Oracle从入门到精通 视频课程学习者:阳光罗诺 视频来源:51CTO学院 整体内容: 统计函数的使用 分组统计查询的实现 对分组的数据过滤 统计函数 在之前我们就学习过一个COUNT()函数,这个函数的主要作用是统计一张表之中的数据量的个数.和它功能与之类似的常用函数有五个: 统计个数COUNT():根据表中的实际数据量返回结果. 求和SUM():是针对于数字的统计 平均值AVG():是针对数字的统计 最小值MIN():各种数据类型都支持. 最大值MAX():各种数据类型都…
在进行多列分组统计时,如果直接使用GROUP BY子句指定分组列,则只能生成基于所有分组列的统计结果.如果在GROUP BY子句中使用ROLLUP语句或CUBE语句,除了生成基于所有指定列的分组统计外,还可以生成基于指定列不同子集的统计结果.使用ROLLUP选项,除了生成基于所有指定列的分组统计外,还对指定的分组列从左开始的每个子集进行统计.例如,GROUP BY ROLLUP(A,B,C)形成的统计包括以下内容.❑GROUP BY():不基于任何列的整个查询结果的统计.❑GROUP BY A:…
$country=array_column($order,'country');$countryGP=array_count_values($country);对二维数组的某一字段 做分组统计…
上一篇文章中的分组,都是通过新建列的方式实现的,直观上比较容易理解.不过这样都修改了原始数据的结构,如果我们不在源表上进行修改,直接通过度量值的方式来进行分组,是否可以实现呢? 答案当然是肯定的. 采用度量值的方式首先定义好分组的类别和标准,然后把需要分组的数据分别统计到指定的分组中. 依然按照上篇文章的数据,统计优秀.良好.及格和不及格的学生分别有多少? 成绩表中的数据结构不做任何更改,我们先创建一个分组表, 如果成绩落在最小值和最大值之间,就归属于该分组. 编写度量值如下: 成绩分组统计 =…
oracle 高级分组 博客分类: 数据库基础 oraclesql  10.高级分组 本章目标: 对于增强的group by需要掌握: 1.使用rollup(也就是roll up累计的意思)操作产生subtotal(小计)的值. 2.使用cube操作产生cross-tabulation(列联交叉表)的值. 3.使用grouping函数标识通过rollup和cube建立的行的值. 4.使用grouping sets产生一个single result set(结果集). 5.使用grouping_i…
基本group by用法 create table test_table(a varchar(20),b varchar(20),c varchar(20)) insert into test_tablevalues(1,'a','甲')insert into test_tablevalues(1,'a','甲')insert into test_tablevalues(1,'a','甲')insert into test_tablevalues(1,'a','甲')insert into te…