Не то, результат тод же.
Выводит только (категории с их подсчетом новостей.), если имеется новость в категории.
из-за LEFT JOIN `post` p ON (`c`.`id`=`p`.`category`) и вывод, если нет в таблице post записи имеющее поле category и = полю id из таблицы category.
Заменю на INNER JOIN, тогда не будит выводить количество новостей