先看结果:
转成:
实现:
1、第一步,查出第一张图的结果(一般是分组求和时)
select 分组字段 类型,sum(求和字段) 值
from 表名
group by 分组字段
结果:
2、第二步,枚举值
select case when 类型=类型1 then 值 end 类型1的值,
case when 类型=类型2 then 值 end 类型2的值,
case when 类型=类型3 then 值 end 类型3的值,
case when 类型=类型4 then 值 end 类型4的值,
0 常量字段 /*用于再次分组求和*/
from
(第一步代码)
结果:
3、第三步,再次分组求和(根据第二步的常量字段分组)
select sum(类型1的值) 类型1的值,
sum(类型2的值) 类型2的值,
sum(类型3的值) 类型3的值,
sum(类型4的值) 类型4的值
from
(第二步代码) group by 常量字段
结果: