求完成如图统计
我有一订单表
里面有 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