CTR рекламных кампаний за последний месяц
SQL, по которому посчитано
WITH bounds AS (
SELECT date_trunc('month', max(date)) AS month_start
FROM ads
)
SELECT
a.campaign,
sum(a.impressions) AS impressions,
sum(a.clicks) AS clicks,
round(sum(a.clicks) * 1.0 / nullif(sum(a.impressions), 0), 4) AS ctr
FROM ads AS a
CROSS JOIN bounds AS b
WHERE a.date >= b.month_start
AND a.date < b.month_start + INTERVAL 1 MONTH
GROUP BY a.campaign
ORDER BY ctr DESC
LIMIT 30