Select Count(Case When an_user_plan.campaign_pid != 0 Then 1 End) As Email,
Count(Case When an_user_plan.sms_pid != 0 Then 1 End) As Sms,
Count(Case When an_user_plan.survey_pid != 0 Then 1 End) As Survey,
sum(Email,Sms,Survey)as total
From an_user_plan
这个sum(Email,Sms,Survey)as total
有错误如何将这三个值相加
我希望总共增加三个计数值
怎么做请帮帮我
答案 0 :(得分:1)
SELECT SUM(campaign_pid != 0 +
sms_pid != 0 +
survey_pid != 0) AS total, ...
答案 1 :(得分:0)
试试这个:
Select Count(Case When an_user_plan.campaign_pid != 0 Then 1 End) +
Count(Case When an_user_plan.sms_pid != 0 Then 1 End) +
Count(Case When an_user_plan.survey_pid != 0 Then 1 End) as total
From an_user_plan
答案 2 :(得分:0)
虽然您没有GROUP BY子句,但您可以使用变量 -
SELECT @c1:=Count(...), @c2:=Count(...), @c1 + @c2 FROM table
否则你可以使用子查询 -
SELECT c1, c2, c1 + c2 FROM (
SELECT Count(...) c1, Count(...) c2 FROM table) t