方法一:group by rollup实现小计、合计
select decode(grouping(to_char(rownum)),1,'合计',to_char(rownum)),
a.clientaccnumber,
a.clientaccount,
sum(a.amount),
a.contract_number
from (select clientaccnumber,
clientaccount,
amount,
contract_number as contract_number
from lc_abc_export_data laed
where deduct_info_id = '3b6587b1f5ad4488879f99a810fb4097'
and paynumber is not null
order by cast(serialno as int)) a
group by rollup((to_char(rownum),a.clientaccnumber,a.clientaccount,a.contract_number))
方法二:利用union查询拼接
select to_char(rownum),
a.clientaccnumber,
a.clientaccount,
a.amount,
a.contract_number
from (select clientaccnumber,
clientaccount,
amount,
contract_number as contract_number
from lc_abc_export_data laed
where deduct_info_id = '3b6587b1f5ad4488879f99a810fb4097'
and paynumber is not null
order by cast(serialno as int)) a
union
select '合计', '', '', sum(a.amount), ''
from (select clientaccnumber,
clientaccount,
amount,
contract_number as contract_number
from lc_abc_export_data laed
where deduct_info_id = '3b6587b1f5ad4488879f99a810fb4097'
and paynumber is not null
order by cast(serialno as int)) a;
效果图:

参考 附:
https://blog.youkuaiyun.com/angeiqiang/article/details/50352804?tdsourcetag=s_pcqq_aiomsg
http://www.cnblogs.com/simplefrog/archive/2012/07/15/2592371.html
本文详细介绍使用groupbyrollup及union查询两种方法,在SQL中实现数据的小计和合计功能,适用于需要进行分组汇总的场景,提供实际的代码示例。
1452

被折叠的 条评论
为什么被折叠?



