Você pode fazer isso com:
SELECT date, COUNT(dom), QA, COUNT(NULLIF(errors, 'No')) FROM reports WHERE date="2010-03-22" GROUP BY QA
Para explicar como isso funciona:
COUNT
retorna o número de valores não nulos. Podemos usar isso a nosso favor, transformando erros com 'No'
em NULL
, então COUNT
não os contará. Fazemos isso com o NULLIF
função, que retorna NULL
se o primeiro e o segundo argumentos forem iguais.