Нужно получить id клиента, количество и сумму заказов за последний месяц.
Paper::select('client_id', DB::raw('SUM(price) as `sum`'),DB::raw('COUNT(*) as `orders_per_month`'))
->where('created_at', '>=', Carbon::now()->startOfMonth())
->groupBy('client_id')->get()
Пытался так, но если за последний месяц у клиента нет заказов, то он не выводится.
Не знаю, лучше ли это перенести в комментарий, или нет, т.к. это не полноценный ответ на вопрос, но если вам нужно вывести клиентов, даже если у них не было заказа, то вам нужен примерно такой запрос:
select distinct t1.client_id,
IFNULL(sum_price, 0) as sum,
IFNULL(count_price, 0) as count
from test t1 left join (select client_id,
sum(price) as sum_price,
count(*) as count_price
from test
where created_at >= STR_TO_DATE('01.09.2016', '%d.%m.%Y')
group by client_id) t2
on t1.client_id = t2.client_id
Пример на sqlfiddle
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники