ROMI по рекламным кампаниям за последний месяц
SQL, по которому посчитано
WITH month_start AS (
SELECT date_trunc('month', max(date)) AS m
FROM sales
)
SELECT
campaign,
round(sum(cost), 2) AS cost,
round(sum(revenue), 2) AS revenue,
round((sum(revenue) - sum(cost)) / NULLIF(sum(cost), 0), 2) AS romi
FROM ads
WHERE date > (SELECT max(date) FROM sales) - INTERVAL 12 MONTH
AND date >= (SELECT m FROM month_start)
GROUP BY campaign
HAVING sum(cost) > 0
ORDER BY cost DESC
LIMIT 20