SQL查询一批数据,怎么在最后一行增加个合计

本文介绍了一种使用SQL进行数据汇总查询的方法,通过CASE WHEN语句结合ROLLUP来实现字段类型的统一处理,并展示如何正确地显示汇总项为“合计”。文中通过具体示例代码解释了这一过程。

 

1.示例

 

 

 

注解:null是rollup产生的汇总项

 

 

2.对yf字段进行处理就可以显示“合计”

 

注解:但是要显示的字段类型必须与yf字段类型一致,若yf是int,就不能显示varchar类型

 

3.显示的字段类型必须要与查询结果字段类型一致

 

示例代码:
select 
     case when yf is not null then yf else '合计' end yf,
     sum(cast(bqbj1 as money)) bjhz,
     sum(cast(bqll1 as money)) lxhz,
     sum(cast(bqwh as money)) whhz
from (select SUBSTRING(rq,6,2) yf,bqbj1,bqll1,bqwh
      from formtable_main_84_dt1 d 
      where rq between '2017-07-01' and '2017-09-30') as a
group by yf
with rollup

 

 

 

 

 

 

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值