GBase 8a
其他
文章
GBase 8a OLAP函数(二)GROUP BY CUBE
发表于2024-04-02 15:44:0121次浏览1个评论
GROUP BY CUBE(A,B,C),首先会对(A、 B、 C)进行 GROUP BY,然后依次是(A、 B), (A、 C), (A), (B、C), (B), (C),然后对全表进行 GROUP BY 操作,最后将所有结果合并在一起(相当于 UNION ALL 操作)
举例:按照部门、职位统计工资
select deptno, job, sum(sal)
from emp
group by cube(deptno, job);

然后可以继续对小计和总计处理:
select
case when job is null then
nvl(deptno, '总计')
else
nvl(deptno, '职位小计')
end as deptno,
case when deptno is null then
nvl(job, '')
else
nvl(job, '部门小计')
end as job,
sum(sal)
from emp
group by cube(deptno, job);

热门帖子
- 12025-12-01浏览数:182759
- 22023-05-09浏览数:25044
- 42023-09-25浏览数:18519
- 52020-05-11浏览数:17526