如何在Oracle中使用ROLLUP分组函数
发表于:2026-11-04 作者:千家信息网编辑
千家信息网最后更新 2026年11月04日,这期内容当中小编将会给大家带来有关如何在Oracle中使用ROLLUP分组函数,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。环境准备create table dep
千家信息网最后更新 2026年11月04日如何在Oracle中使用ROLLUP分组函数
这期内容当中小编将会给大家带来有关如何在Oracle中使用ROLLUP分组函数,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
环境准备
create table dept as select * from scott.dept;create table emp as select * from scott.emp;
业务场景:求各部门的工资总和及其所有部门的工资总和
这里可以用union来做,先按部门统计工资之和,然后在统计全部部门的工资之和
select a.dname, sum(b.sal) from scott.dept a, scott.emp b where a.deptno = b.deptno group by a.dnameunion allselect null, sum(b.sal) from scott.dept a, scott.emp b where a.deptno = b.deptno;
上面是用union来做,然后用rollup来做,语法更简单,而且性能更好
select a.dname, sum(b.sal) from scott.dept a, scott.emp b where a.deptno = b.deptno group by rollup(a.dname);
业务场景:基于上面的统计,再加需求,现在要看看每个部门岗位对应的工资之和
select a.dname, b.job, sum(b.sal) from scott.dept a, scott.emp b where a.deptno = b.deptno group by a.dname, b.jobunion all//各部门的工资之和select a.dname, null, sum(b.sal) from scott.dept a, scott.emp b where a.deptno = b.deptno group by a.dnameunion all//所有部门工资之和select null, null, sum(b.sal) from scott.dept a, scott.emp b where a.deptno = b.deptno;
用rollup实现,语法更简单
select a.dname, b.job, sum(b.sal) from scott.dept a, scott.emp b where a.deptno = b.deptno group by rollup(a.dname, b.job);
假如再加个时间统计的,可以用下面sql:
select to_char(b.hiredate, 'yyyy') hiredate, a.dname, b.job, sum(b.sal) from scott.dept a, scott.emp b where a.deptno = b.deptno group by rollup(to_char(b.hiredate, 'yyyy'), a.dname, b.job);
cube函数
select a.dname, b.job, sum(b.sal) from scott.dept a, scott.emp b where a.deptno = b.deptno group by cube(a.dname, b.job);
cube
函数是维度更细的统计,语法和rollup类似
假设有n个维度,那么rollup会有n个聚合,cube会有2n个聚合
rollup统计列
rollup(a,b) 统计列包含:(a,b)、(a)、()
rollup(a,b,c) 统计列包含:(a,b,c)、(a,b)、(a)、()
....
cube统计列
cube(a,b) 统计列包含:(a,b)、(a)、(b)、()
cube(a,b,c) 统计列包含:(a,b,c)、(a,b)、(a,c)、(b,c)、(a)、(b)、(c)、()
上述就是小编为大家分享的如何在Oracle中使用ROLLUP分组函数了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注行业资讯频道。
统计
工资
之和
部门
函数
语法
分组
业务
内容
场景
总和
维度
分析
专业
中小
内容丰富
就是
岗位
性能
文章
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
云南咖啡
科技互联网
广州紫鲸互联网科技有限公司
互联网为科技
互联网科技社
科技信息互联网
互联网科技公司发展
南京欣网互联网科技
互联网科技的未来发展
蓝色互联网科技
富国互联网科技创新基金
新华互联网科技2019
湖北码尼互联网科技有限公司电话
中国科技创新与世界互联网大会
浙南科技城互联网大厦建设工程
中国互联网公司排名锤子科技
工业互联网山东科技大学
广东工业互联网大赛深圳学泰科技
普陀区互联网教育科技管理办法
互联网科技大会大佬
山东特亿宝互联网科技有限公司
互联网科技开发公司
以后互联网后是啥科技
互联网科技教育视频
语蝶互联网科技有限公司
燊美集互联网科技有限公司
河南住房之家互联网科技
易企秀互联网科技是做什么的
山东蛋芒互联网科技有限公司
互联网科技创业计划的风险分析