表有a,b,c三个字段如下:
a b c
1 11 10
2 11 20
3 22 30
4 22 40
期望输出:
a b c
1 11 10
2 11 20
小计: 30
3 22 30
4 22 40
小计: 70
总计 100
脚本要如何写呢?
a b c
1 11 10
2 11 20
3 22 30
4 22 40
期望输出:
a b c
1 11 10
2 11 20
小计: 30
3 22 30
4 22 40
小计: 70
总计 100
脚本要如何写呢?
解决方案 »
- 利用plsql 如何获得指定目录下的文件信息?
- oracle技术帮助
- 创建表的问题
- 请教有关Oracle 9i RAC方面的问题
- date型如何加n秒??
- 自学时遇到的问题,向大家请教!
- 求救:我想将Oracle9i的数据库(包括表、示图等)导入到oracle8.1.7中,如何才能成功????
- 请问外面的公司一般喜欢用哪个版本的Oracle?
- 【求助】关于一个SQL分组合并取值的语句,如果写?请大牛给出思路
- Oracle11g中字符集如何如何修改为UTF8修改?
- 请问在ORACLE9i中,有没有PRO*C/C++的GUI预编译工具啊???
- 存储过程包的一个存储过程,PL/SQL中能编译,测试窗口能执行,但调试时提示'通信通道的文件结束',此时没有断网,session中无执行进程,无锁表.
select a,decode(grouping_id(a,b),2,'小计',3,'总计',b),
sum(c)
from test_12
group by rollup(b,(a,b))
A B C
---------- ---------- ----------
1 11 10
2 11 20
3 22 30
4 22 40
SQL> select a.*,sum(b)over(partition by b),sum(c)over(partition by b) from test a;
A B C SUM(B)OVER(PARTITIONBYB) SUM(C)OVER(PARTITIONBYB)
---------- ---------- ---------- ------------------------ ------------------------
1 11 10 22 30
2 11 20 22 30
3 22 30 44 70
4 22 40 44 70楼主不知道这样行不?
A B C SUM(C)OVER(PARTITIONBYB) SUM(C)OVER()
---------- ---------- ---------- ------------------------ ------------
1 11 10 30 100
2 11 20 30 100
3 22 30 70 100
4 22 40 70 100看错了
是什么意思啊
a number,
b number,
c number
)
insert into abc values(1,11,10);
insert into abc values(2,11,20);
insert into abc values(3,22,30);
insert into abc values(4,22,40);SQL> select a,decode(grouping_id(a,b),2,'小计',3,'总计',b),
2 sum(c)
3 from abc
4 group by rollup(b,(a,b))
5 / A DECODE(GROUPING_ID(A,B),2,'小? SUM(C)
---------- ---------------------------------------- ----------
1 11 10
2 11 20
小计 30
3 22 30
4 22 40
小计 70
总计 1007 rows selected
select a,b,c from t
union all
select '99', b, sum(c) from t group by b
order by b;
这样也简洁明了
union all
select '99', b, sum(c) from t group by b
union all
select '99' '合计', sum(c) from t;
order by b;
sum(c)
from test_12
group by rollup(b,(a,b))
;
select *,sum(c) from table group by b字段语法不一定对,思想如此,多编译几次
TEST1 GROUP BY ROLLUP(B,A);