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

Oracle 9i以后,扩展了group by 的功能,能够满足大部分多维数据的分析统计功能,主要表现: 1. rollup,cube,grouping sets 扩展group by字句提供了丰富的多维分组统计功能: 2. 3个扩展分组函数:grouping,grouping_id,group_id提供扩展group by的辅助功能:提供区别结果行属于哪个分组级别,区分NULL值,建立有意义的报表,对汇总结果排序,过滤结果行等: 3.对扩展group by允许按重复列分组,组合列分组,连接分组…
在进行多列分组统计时,如果直接使用GROUP BY子句指定分组列,则只能生成基于所有分组列的统计结果.如果在GROUP BY子句中使用ROLLUP语句或CUBE语句,除了生成基于所有指定列的分组统计外,还可以生成基于指定列不同子集的统计结果.使用ROLLUP选项,除了生成基于所有指定列的分组统计外,还对指定的分组列从左开始的每个子集进行统计.例如,GROUP BY ROLLUP(A,B,C)形成的统计包括以下内容.❑GROUP BY():不基于任何列的整个查询结果的统计.❑GROUP BY A:…
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…
原文地址:http://blog.csdn.net/u014558001/article/details/42387929 本文主要讲解 ROLLUP, CUBE, GROUPING SETS的主要用法,这些函数可以理解为GroupBy分组函数封装后的精简用法,相当于多个union all 的组合显示效果,但是要比 多个union all的效率要高. 其实这些函数在时间的程序开发中应用的并不多,至少在我工作的多年时间中没用过几次,因为现在的各种开发工具/平台都自带了这些高级分组统计功能,使用的方…
rollup函数 本博客简单介绍一下oracle分组函数之rollup的用法,rollup函数常用于分组统计,也是属于oracle分析函数的一种 环境准备 create table dept as select * from scott.dept; create table emp as select * from scott.emp; 业务场景:求各部门的工资总和及其所有部门的工资总和 这里可以用union来做,先按部门统计工资之和,然后在统计全部部门的工资之和 select a.dname,…
    分组操作group by 和分组的强化(rollup) 分组操作和分组函数的使用,对于编写SQL语句的人来说,是最基本的概念. 我们来看下面的例子: 在这里我们使用员工表EMP scott@DB01> select * from emp;     EMPNO ENAME      JOB              MGR HIREDATE                   SAL       COMM     DEPTNO ---------- ---------- ---------…
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():各种数据类型都…
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…