SqlServer根据类型分组后过滤条件求和、计算平均值

 SELECT 归属类别,
sum(CASE 资费类型 WHEN 'N' THEN 办理量 ELSE 0 end ) AS xx办理量
,convert(varchar,Convert(decimal(18,2),(sum(CASE 资费类型 WHEN 'N' THEN 办理量 ELSE 0 end )/(select sum(CASE 资费类型 WHEN 'N' THEN 办理量 ELSE 0 end ) AS 新业务办理量   from  tab1))*100))+'%'   AS  xx率1
,sum(CASE 资费类型 WHEN 'N' THEN 价值 ELSE 0 end ) AS xx月租
,Convert(decimal(18,2),sum(CASE 资费类型 WHEN 'N' THEN 价值 ELSE 0 end )/sum(CASE 资费类型 WHEN 'N' THEN 办理量 ELSE 0 end )) as  xx平均月租
,sum(CASE 资费类型 WHEN 'H' THEN 办理量 ELSE 0 end ) AS xx办理量
,convert(varchar,Convert(decimal(18,2),(sum(CASE 资费类型 WHEN 'H' THEN 办理量 ELSE 0 end )/(select sum(CASE 资费类型 WHEN 'H' THEN 办理量 ELSE 0 end ) AS 宽带办理量   from  tab1))*100))+'%'  AS xx率2
,sum(CASE 资费类型 WHEN 'H' THEN 价值 ELSE 0 end ) AS xx月租 
,Convert(decimal(18,2),sum(CASE 资费类型 WHEN 'H' THEN 价值 ELSE 0 end )/sum(CASE 资费类型 WHEN 'H' THEN 办理量 ELSE 0 end )) as xx平均月租
,sum(CASE 资费类型 WHEN 'C' THEN 办理量 ELSE 0 end ) AS xx办理量
,convert(varchar,Convert(decimal(18,2),(sum(CASE 资费类型 WHEN 'C' THEN 办理量 ELSE 0 end )/(select sum(CASE 资费类型 WHEN 'C' THEN 办理量 ELSE 0 end ) AS 号卡办理量   from  tab1))*100))+'%'   AS xx率3
,sum(CASE 资费类型 WHEN 'C' THEN 价值 ELSE 0 end ) AS xx月租 
,Convert(decimal(18,2),sum(CASE 资费类型 WHEN 'C' THEN 价值 ELSE 0 end )/sum(CASE 资费类型 WHEN 'C' THEN 办理量 ELSE 0 end )) as  xx平均月租
,sum(CASE 资费类型 WHEN 'B' THEN 办理量 ELSE 0 end ) AS xx办理量 
,convert(varchar,Convert(decimal(18,2),(sum(CASE 资费类型 WHEN 'B' THEN 办理量 ELSE 0 end )/(select sum(CASE 资费类型 WHEN 'B' THEN 办理量 ELSE 0 end ) AS 政企办理量   from  tab1))*100))+'%'   AS xx率4
,sum(CASE 资费类型 WHEN 'B' THEN 价值 ELSE 0 end ) AS xx月租  
,Convert(decimal(18,2),sum(CASE 资费类型 WHEN 'B' THEN 价值 ELSE 0 end )/sum(CASE 资费类型 WHEN 'B' THEN 办理量 ELSE 0 end )) as xx平均月租
FROM tab1 GROUP BY 归属类别 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值