oracle的rollup

本文介绍了 SQL 中的 rollup 功能,通过一个简单的员工薪资数据表为例,展示了如何使用 group by 和 rollup 进行数据汇总,实现类似“小计”的效果。

rollup   配合   goup   by   命令使用,可以提供信息汇总功能(类似于"小计")  
  下面是一个简单例子:  
   
  SQL>   select   job,deptno,sal   from   emp;  
   
  JOB                     DEPTNO               SAL  
  ---------   ---------   ---------  
  CLERK                         20               800  
  SALESMAN                   30             1600  
  SALESMAN                   30             1250  
  MANAGER                     20             2975  
  SALESMAN                   30             1250  
  MANAGER                     30             2850  
  MANAGER                     10             2450  
  ANALYST                     20             3000  
  PRESIDENT                 10             5000  
  SALESMAN                   30             1500  
  CLERK                         20             1100  
  CLERK                         30               950  
  ANALYST                     20             3000  
  CLERK                         10             1300  
   
  已选择14行。  
   
  SQL>   select   job,deptno,sum(sal)   total_sal   from   emp   group   by   rollup(job,deptno);  
   
  JOB                     DEPTNO   TOTAL_SAL  
  ---------   ---------   ---------  
  ANALYST                     20             6000  
  ANALYST                                     6000  
  CLERK                         10             1300  
  CLERK                         20             1900  
  CLERK                         30               950  
  CLERK                                         4150  
  MANAGER                     10             2450  
  MANAGER                     20             2975  
  MANAGER                     30             2850  
  MANAGER                                     8275  
  PRESIDENT                 10             5000  
  PRESIDENT                                 5000  
  SALESMAN                   30             5600  
  SALESMAN                                   5600  
                                                  29025  
   
  已选择15行。

转载于:https://www.cnblogs.com/snake-hand/archive/2011/02/22/2452309.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值