COUNT() działa zgodnie z oczekiwaniami. Kiedy umieszczasz group by klauzula count() daje wynik dla GROUP BY . Jeśli chcesz uzyskać liczbę wierszy w zapytaniu, które zawiera group by , użyj go jako podzapytania.
Coś takiego:
SELECT COUNT(*) FROM (SELECT * FROM `table`
GROUP BY `column1`) AS `a`