问个问题

[复制链接]
查看11 | 回复7 | 2009-10-9 08:28:00 | 显示全部楼层 |阅读模式
请教各位 oracle有没有这样的函数
比如说 有这样的语句
select a,b,sum(c) from p_wage group by a,b;
有没有函数能在查询结果的最后对sum(c)列有一个合计数的
回复

使用道具 举报

千问 | 2009-10-9 08:28:00 | 显示全部楼层
rollup
回复

使用道具 举报

千问 | 2009-10-9 08:28:00 | 显示全部楼层
GROUP BY ROLLUP
回复

使用道具 举报

千问 | 2009-10-9 08:28:00 | 显示全部楼层
select a,b,sum(c) from p_wage group by rollup((a,b));
新书,我有一章专门介绍
回复

使用道具 举报

千问 | 2009-10-9 08:28:00 | 显示全部楼层
select a,b,sum(c) from p_wage group byrollup(a,b);
会对a和b先分别有个合计,最后有个总和计,
现在就是不想要对a和b的单独合计了
回复

使用道具 举报

千问 | 2009-10-9 08:28:00 | 显示全部楼层
看你上面的和你写的区别
回复

使用道具 举报

千问 | 2009-10-9 08:28:00 | 显示全部楼层

是不是要如下的结果?
SQL> select deptno, job, sum(sal) from emp group by grouping sets((deptno, job), ());
DEPTNO JOB SUM(SAL)
------ --------- ----------
10 CLERK
20
10 MANAGER 20
10 PRESIDENT 20
20 CLERK 1900
20 ANALYST 6000
20 MANAGER 2975
30 CLERK
950
30 MANAGER 2850
30 SALESMAN5600

20335
10 rows selected
SQL>


回复

使用道具 举报

千问 | 2009-10-9 08:28:00 | 显示全部楼层
原帖由 bell6248 于 2010-11-16 11:05 发表

是不是要如下的结果?
SQL> select deptno, job, sum(sal) from emp group by grouping sets((deptno, job), ());
DEPTNO JOB SUM(SAL)
------ --------- ----------
10 CLERK
20
10 MANAGER 20
10 PRESIDENT 20
20 CLERK 1900
20 ANALYST 6000
20 MANAGER 2975
30 CLERK
950
30 MANAGER 2850
30 SALESMAN5600

20335
10 rows selected
SQL>


是滴,谢了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行