В таких случаях всегда такие вычисления перекладывают на БД, за 1 запрос ты получаешь ответ и возвращаешь его в качестве результата.
В случае, если ты попытаешься получить записи для подсчета в PHP, то на больших выборках велика вероятность получить слишком большой массив данных, который не поместится в память, отведенную под PHP, не говоря уже о времени перебора данных.