Средняя цена продажи по месяцам, вымышленный мебельный магазин
SQL, по которому посчитано
WITH monthly AS (
SELECT date_trunc('month', date) AS month,
sum(revenue - returned_revenue) AS net_revenue,
sum(units - returned_units) AS net_units
FROM sales
WHERE date >= (SELECT date_trunc('month', max(date)) - INTERVAL '11 months' FROM sales)
GROUP BY 1
)
SELECT month,
round(CASE WHEN net_units > 0 THEN net_revenue / net_units END, 2) AS avg_price
FROM monthly
ORDER BY month