如何在同一个查询中对返回的结果求和?

时间:2017-11-24 20:40:20

标签: php mysql

如何在同一查询的新列中汇总求和结果(目标+已提交)?

SELECT Sum(CASE 
             WHEN the_status = 'goal' THEN 1 
             ELSE 0 
           END) AS goal, 
       Sum(CASE 
             WHEN the_status = 'delivered' THEN 1 
             ELSE 0 
           END) AS delivered
FROM   the_data
where ....

1 个答案:

答案 0 :(得分:0)

您可以添加包含两个条件的第三列:

SELECT Sum(CASE 
             WHEN the_status = 'goal' THEN 1 
             ELSE 0 
           END) AS goal, 
       Sum(CASE 
             WHEN the_status = 'delivered' THEN 1 
             ELSE 0 
           END) AS delivered,
       Sum(CASE 
             WHEN the_status IN ('goal', 'delivered') THEN 1 
             ELSE 0 
           END) AS goal_and_delivered
FROM   the_data