SELECTCOUNT(IF(r.channel_type=1,1,0))ASwangzhan,COUNT(IF(r.channel_type=2,1,0))baozhi,COUNT(IF(r.channel_type=3,1,0))zazhi,SUM(CASEWHENr.channel_type=1ANDr.check_status=6...
SELECT COUNT(IF(r.channel_type=1,1,0)) AS wangzhan,COUNT(IF(r.channel_type=2,1,0)) baozhi,
COUNT(IF(r.channel_type=3,1,0)) zazhi,
SUM(CASE WHEN r.channel_type=1 AND r.check_status=6 THEN 1 ELSE 0 END) AS wangzhanluyong,
(CASE WHEN r.channel_type=1 THEN sum(r.fraction) ELSE 0 END) AS wangzhanfenshu,
sum(CASE WHEN r.channel_type=2 AND r.check_status=6 THEN 1 ELSE 0 END) AS baozhiluyong,
(CASE WHEN r.channel_type=2 THEN sum(r.fraction) ELSE 0 END) AS baozhifenshu,
sum(CASE WHEN r.channel_type=3 AND r.check_status=6 THEN 1 ELSE 0 END) AS zazhiluyong,
(CASE WHEN r.channel_type=3 THEN sum(r.fraction) ELSE 0 END) AS zazhifenshu
FROM tougao_record r LEFT JOIN tougao t ON r.tougao_id = t.id WHERE r.accept_company_id=100 AND t.create_at>='%2014-7-1%'
这是我写的代码,我想分别求出 r.channel_type=1,2,3时r.fraction的和(channel_type是一个字段,它分为三种状态,每种状态在fraction字段中都有相应的值)但是这样写只有第一个CASE WHEN r.channel_type=1 THEN sum(r.fraction) ELSE 0 END执行了,其他两个(CASE WHEN r.channel_type=2 THEN sum(r.fraction) ELSE 0 END) AS baozhifenshu和(CASE WHEN r.channel_type=3 THEN sum(r.fraction) ELSE 0 END) AS zazhifenshu都返回的是0,求教该怎么改才能达到目的
展开