COUNT() работи според очакванията. Когато поставите group by клауза, count() ви дава резултата за GROUP BY . Ако искате да получите броя на редовете в заявка, която включва group by , вместо това го използвайте като подзаявка.
Нещо като:
SELECT COUNT(*) FROM (SELECT * FROM `table`
GROUP BY `column1`) AS `a`