Du kan göra detta med:
SELECT date, COUNT(dom), QA, COUNT(NULLIF(errors, 'No')) FROM reports WHERE date="2010-03-22" GROUP BY QA
För att förklara hur detta fungerar:COUNT
returnerar antalet icke-nullvärden. Vi kan använda detta till vår fördel genom att vända fel med 'No'
till NULL
, alltså COUNT
kommer inte att räkna dem. Vi gör detta med NULLIF
funktion, som returnerar NULL
om det första och andra argumentet är lika.