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
To sum(Email,Sms,Survey)as total
mieć błąd, jak sumować trzy wartości Chcę sumować jako dodatek do trzech obliczeń jak to zrobić Proszę mi pomóc
Odpowiedzi:
1 dla odpowiedzi № 1SELECT SUM(campaign_pid != 0 +
sms_pid != 0 +
survey_pid != 0) AS total, ...
0 dla odpowiedzi nr 2
Spróbuj tego:
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
0 dla odpowiedzi № 3
Chociaż nie masz klauzuli GROUP BY, możesz użyć zmiennych -
SELECT @c1:=Count(...), @c2:=Count(...), @c1 + @c2 FROM table
W przeciwnym razie możesz użyć podzapytania -
SELECT c1, c2, c1 + c2 FROM (
SELECT Count(...) c1, Count(...) c2 FROM table) t