我想在行之间添加小计
例如,这是行和列注:这三列是我从maintable中获取的
abc a1 100 100 a2 200 200 a3 300 300 a4 400 400 a5 500 500 a6 600 600 a7 700 700 a8 800 800 a9 900 900 a10 900 900
我想要这样
abc a1 100 100 a2 200 200 a3 300 300 a4 400400 小计(a1至a4)1000 1000 a5 500 500 a6 600600 小计(a5至a6)1100 1100 a7 700 700 小计(a7)700 700 a8 800 800 a9 900 900 a10 900900 小计(a8至a10)2600 2600大计5400 5400 注意:大计=小计
尝试通过以下方式结合使用汇总和分组功能:
select
decode(grouping(a),1,decode(grouping(subtot_id), 1, 'total', 'subtotal'),a) as a,
sum(b) as b, sum(c) as c
from (
select trunc((rownum-1)/3) as subtot_id, a, b, c
from your_table
order by a
)
group by rollup(subtot_id, a)
我在这里做了一个样本
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句