Нужно получить 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
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Подскажите, как в MySQL можно организовать поиск дубликатов в поле? Вывести только неповторяющиеся значения можно с помощью DISTINCT, а вот как...
Почему для того, чтобы посчитать количество повторяющихся значений в поле, можно написать:
Здравствуйте! Помогите пожалуйста разобраться Есть таблица со колонкой price (тип int) в ней записи 50, 75, 100