Vous pouvez le faire avec :
SELECT date, COUNT(dom), QA, COUNT(NULLIF(errors, 'No')) FROM reports WHERE date="2010-03-22" GROUP BY QA
Pour expliquer comment cela fonctionne :COUNT
renvoie le nombre de valeurs non nulles. Nous pouvons utiliser cela à notre avantage en retournant les erreurs avec 'No'
en NULL
, donc COUNT
ne les comptera pas. Nous faisons cela avec le NULLIF
fonction, qui renvoie NULL
si les premier et second arguments sont égaux.