Теория
Что изменится, если заменить COUNT(*) на COUNT() без аргумента?
COUNT() явно считает все строки, а форма COUNT() без аргумента поддерживается не во всех СУБД и может дать синтаксическую ошибку.
Читать ответ