首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

求完成如图统计,该如何解决

2012-12-29 
求完成如图统计我有一订单表里面有 id订单类型, 订购数量,单价,总金额,订购状态其中订单类型1为秒杀,2为团

求完成如图统计
我有一订单表
里面有 id   订单类型, 订购数量,单价,总金额,订购状态

其中订单类型1为秒杀,2为团购
订单状态有:取消,退款,完成
求完成如下统计
求完成如图统计,该如何解决
[解决办法]
case when 语句判断下
[解决办法]
select 订单类型,总数=sum(订购数量),sum(总金额),
       sum(case when 订单状态='取消' then 订购数量 end),
       sum(case when 订单状态='取消' then 总金额 end),
.........
from tb group by 订单类型
[解决办法]
select  'all',sum(订购数量),
                sum(总金额),   
              sum(case when 订购状态 ='取消' then  订购数量 else 0 end),
                sum(case when 订购状态 ='取消' then  总金额 else 0 end) ,
                .......
from 订单表 
union 
select  'all',sum(订购数量),
                sum(总金额),   
              sum(case when 订购状态 ='取消' then  订购数量 else 0 end),
                sum(case when 订购状态 ='取消' then  总金额 else 0 end) ,
                .......
from 订单表 
where 订单类型= 1

union 
select  'all',sum(订购数量),
                sum(总金额),   
              sum(case when 订购状态 ='取消' then  订购数量 else 0 end),
                sum(case when 订购状态 ='取消' then  总金额 else 0 end) ,
                .......
from 订单表 
where 订单类型= 2
[解决办法]
select 订单类型=case when grouping(订单类型)=1 then '合计' else 订单类型 end,总数=sum(订购数量),sum(总金额),
       sum(case when 订单状态='取消' then 订购数量 end),
       sum(case when 订单状态='取消' then 总金额 end),
.........
from tb group by 订单类型 with rollup

热点排行