如题,希望能对查询的记录集的每一列进行一次合计,然后把合计也作为一条记录加在后面
比如
select a,b,c from tbl where ....
查询结果如下
a b c
1 2 3
1 2 3
0 1 2
希望是这样的
a b c
1 2 3
1 2 3
0 1 2
sum 2 5 8
比如
select a,b,c from tbl where ....
查询结果如下
a b c
1 2 3
1 2 3
0 1 2
希望是这样的
a b c
1 2 3
1 2 3
0 1 2
sum 2 5 8
union all
select 'sum',sum(a),sum(b),sum(c) from t
union
select sum(id),sum(id2),sum(id3) from test1
但是select a,b,c from tbl where ....
关键还有条件,而且条件语句中有强联等等,非常浪费查询时间的条件
如果
select '',a,b,c from t where ....
union all
select 'sum',sum(a),sum(b),sum(c) from t where ....
这样的话会使查询时间*2,使得原来很慢的查询更慢
我的意思是能不能只查询一次记录集,然后只做一次加法运算就可以了,而不是全部再查一遍
另外,做成列不行吗
select a,b,c,
sum(a) over() as sum_a,..
from tbl
select sum(a),sum(b),sum(c) from (select rownum r,a.* from test_mulcol a) a group by rollup(a.r);