oracle的rollup

本文介绍了 SQL 中的 rollup 操作如何与 group by 命令结合使用,以实现数据汇总功能。通过一个具体例子展示了如何计算不同职位和部门的薪资总和,并提供了带有小计的汇总结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值