Ключевые отличия между COUNT(*) и GROUP BY в PostgreSQL:
Таким образом, COUNT(*) возвращает общее количество строк, а GROUP BY позволяет подсчитывать количество элементов для каждой группы, определённой оператором GROUP BY. 23
Например, с помощью COUNT(*) можно узнать общее количество записей в таблице, а в комбинации с GROUP BY и HAVING — подсчитать общее количество записей (строк) в определённом столбце. 5