table中 同一个字段,type值不同求差或求和
求字段filedB某段时间所有记录中两个type之和的差
其中 if 和case 是当时用两种方式试了一下效果
select sum(a) - sum(b) as c from (
SELECT
-- if(filedA=2,sum(filedB),0) as a,
-- if(filedA=3,sum(filedB),0) as b
case filedA when 2 then sum(filedB) end a,
case filedA when 3 then sum(filedB) end b
FROM
table_name
WHERE
created_at < 'xxxxx'
and filedA in (2,3)
GROUP BY filedA
) m