Możesz to zrobić za pomocą:
SELECT date, COUNT(dom), QA, COUNT(NULLIF(errors, 'No')) FROM reports WHERE date="2010-03-22" GROUP BY QA
Aby wyjaśnić, jak to działa:COUNT
zwraca liczbę wartości innych niż null. Możemy to wykorzystać na naszą korzyść, obracając błędy za pomocą 'No'
na NULL
, więc COUNT
nie liczy ich. Robimy to za pomocą NULLIF
funkcja, która zwraca NULL
jeśli pierwszy i drugi argument są równe.