Как найти последовательные события пользователя (self-join)? Например, пользователей, у которых событие B произошло после события A. Схема: events(user_id, event_time, event_type).
SQLhardsenior
Варианты ответа
Self-join: JOIN events a JOIN events b ON a.user_id = b.user_id AND b.event_time > a.event_time AND a.event_type = 'A' AND b.event_type = 'B', или через LAG/LEAD
GROUP BY user_id, event_type HAVING COUNT(*) >= 2
WHERE event_type IN ('A', 'B') без проверки порядка
DISTINCT user_id, event_type — это покажет последовательность
Разбор ответа
Подробный разбор с объяснением «почему правильный ответ верный» и почему остальные неверны — после регистрации.
2475 вопросов с разбором, quiz-режим с проверкой, AI-собес и подготовка к интервью аналитика.