Есть поток рекламных событий, сохраненный в таблице:
CREATE TABLE ad_events (
event_time TEXT NOT NULL,
campaign_id INTEGER NOT NULL,
event_type TEXT NOT NULL CHECK (event_type IN ('impression', 'click')),
event_id TEXT NOT NULL
);
Нужно посчитать агрегаты по минутным окнам и рекламным кампаниям.
Верните:
campaign_id;window_start — начало минуты в формате YYYY-MM-DD HH:MM:00;impressions;clicks;ctr = clicks / impressions, округленный до 4 знаков через ROUND(..., 4).Если в окне есть клики, но нет показов, ctr должен быть NULL.
Отсортируйте результат по campaign_id ASC, window_start ASC.