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
toto sum(Email,Sms,Survey)as total
majú chybu, ako súčet troch hodnôt Chcem celkom ako pridanie troch grófov vlaues ako to urobiť Prosím, pomôžte mi
odpovede:
1 pre odpoveď č. 1SELECT SUM(campaign_pid != 0 +
sms_pid != 0 +
survey_pid != 0) AS total, ...
0 pre odpoveď č. 2
Skúste to:
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 pre odpoveď č. 3
Hoci nemáte klauzulu GROUP BY, môžete použiť premenné -
SELECT @c1:=Count(...), @c2:=Count(...), @c1 + @c2 FROM table
V opačnom prípade môžete použiť poddotaz -
SELECT c1, c2, c1 + c2 FROM (
SELECT Count(...) c1, Count(...) c2 FROM table) t