Я пытаюсь создать запрос в Postgresql, который будет использоваться для бюджета.
В настоящее время у меня есть список данных, сгруппированных по месяцам.
Для каждого месяца года мне нужно получить среднемесячные продажи за предыдущие три месяца. Например, в январе мне понадобятся среднемесячные продажи с октября по декабрь предыдущего года. Так что результат будет примерно таким:
1 12345.67
2 54321.56
3 242412.45
Это сгруппировано по номеру месяца.
Вот фрагмент кода из моего запроса, который даст мне продажи за текущий месяц:
LEFT JOIN (SELECT SUM((sti.cost + sti.freight) * sti.case_qty * sti.release_qty)
AS trsf_cost,
DATE_PART('month', st.invoice_dt) as month
FROM stransitem sti,
stocktrans st
WHERE sti.invoice_no = st.invoice_no
AND st.invoice_dt >= date_trunc('year', current_date)
AND st.location_cd = 'SLC'
AND st.order_st != 'DEL'
GROUP BY month) as trsf_cogs ON trsf_cogs.month = totals.month
Мне нужно еще одно объединение, которое даст мне то же самое, только усредненное за предыдущие 3 месяца, но я не уверен, как.
Это ВСЕГДА будет список с января по декабрь (1-12), начиная с января и заканчивая декабрем.