Средний чек с рекламы по источникам за последний месяц
SQL, по которому посчитано
WITH period AS (
SELECT date_trunc('month', max(date)) AS month_start,
max(date) AS last_date
FROM ads
)
SELECT
source,
SUM(revenue) AS revenue,
SUM(orders) AS orders,
ROUND(SUM(revenue) / NULLIF(SUM(orders), 0), 0) AS avg_check
FROM ads
CROSS JOIN period
WHERE ads.date >= period.month_start
AND ads.date <= period.last_date
GROUP BY source
HAVING SUM(orders) > 0
ORDER BY avg_check DESC
LIMIT 30