COUNT () подсчитывает количество строк, которые не равны нулю. Если вы хотите, чтобы ID не был нулевым И КАТЕГОРИЯ = 'A', то
COUNT(CASE WHEN ID IS NOT NULL AND CATEGORY = 'A' THEN TRUE ELSE NULL END)
даст вам это, или вы можете использовать СУММУ, как в ответе Гордона
SUM(CASE WHEN ID IS NOT NULL AND CATEGORY = 'A' THEN 1 ELSE 0 END)
или Вы можете использовать снежинку IFF как более короткую форму для того же самого, как я это делаю
SUM( IFF( ID IS NOT NULL AND CATEGORY = 'A', 1, 0))