Нужно посчитать 7-дневную rolling retention (для каждой когорты: какая доля юзеров активна через 1, 2, ..., 7 день после регистрации). Дано: таблица events(user_id, event_date). Как написать?
SQLhardsenior
Варианты ответа
Через LEFT JOIN когорты с events в окне +N дней, затем PIVOT на Day_1..Day_7
ROW_NUMBER() OVER (PARTITION BY user_id ORDER BY event_date) и фильтр = N
SUM(CASE WHEN date_diff BETWEEN 1 AND 7 THEN 1 END) без COUNT DISTINCT
Нельзя посчитать одним запросом — нужен цикл в Python
Разбор ответа
Подробный разбор с объяснением «почему правильный ответ верный» и почему остальные неверны — после регистрации.
2475 вопросов с разбором, quiz-режим с проверкой, AI-собес и подготовка к интервью аналитика.