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