Vreau să folosesc Case
When
cu AND
și nu se calculează corect suma.
De exemplu:
SELECT DATE(`SubmitDate`),
SUM(CASE status WHEN 'New' AND `Type` = 'consumer' THEN 1 ELSE 0 END) as new_consumer,
SUM(CASE status WHEN 'New' AND `Type` = 'business' THEN 1 ELSE 0 END) as new_business
FROM report
WHERE `source` = 'net'
group by DATE(`SubmitDate`) Order by `SubmitDate` DESC
- Ce nu face corect – user1432124
2 răspunsuri
Trebuie să utilizați CASE WHEN [Condition] THEN...
mai degrabă decât o simplă expresie de caz:
SELECT DATE(`SubmitDate`),
SUM(CASE WHEN status = 'New' AND `Type` = 'consumer' THEN 1 ELSE 0 END) as new_consumer,
SUM(CASE WHEN status = 'New' AND `Type` = 'business' THEN 1 ELSE 0 END) as new_business
FROM report
WHERE `source` = 'net'
group by DATE(`SubmitDate`) Order by `SubmitDate` DESC
Ar trebui să scrieți
CASE WHEN status='New' AND `Type` = 'consumer' THEN 1 ELSE 0 END
Verificați sintaxa lui CASE WHEN