В таблице events лежит лог действий пользователей на сайте: event_type принимает значения 'view' (просмотр товара), 'cart' (добавление в корзину), 'checkout' (переход к оформлению), 'purchase' (покупка). Один пользователь мог совершить действие несколько раз. Постройте воронку: верните ОДНУ строку с числом УНИКАЛЬНЫХ пользователей на каждом шаге — step_view, step_cart, step_checkout, step_purchase, а также конверсию view->cart (cr_view_cart, %) и сквозную конверсию view->purchase (cr_view_purchase, %). Проценты округлить до 1 знака.
CREATE TABLE events (
user_id INTEGER,
event_type TEXT, -- 'view' | 'cart' | 'checkout' | 'purchase'
event_time TEXT -- 'YYYY-MM-DD HH:MM:SS'
);
funnel conversion count-distinct case-when conditional-aggregation
Задача «Воронка конверсии интернет-магазина» учит решать задачи по теме «Воронка конверсии» так, как это спрашивают на собеседовании аналитика данных. Такие задачи встречаются на собеседованиях в Wildberries и других IT-компаниях. Уровень лёгкий — это база, которую должен уверенно держать каждый аналитик.
Сначала разберись со схемой данных и пойми, какой результат нужен на выходе. Определи, какие таблицы и поля задействованы, и собирай запрос пошагово: фильтрация → соединение или группировка → итоговый отбор и сортировка. Проверь результат на крайних случаях — NULL, дубликаты, пустые группы. Свой запрос сразу прогоняешь автопроверкой в интерактивной SQL-песочнице на реальной базе (SQLite и PostgreSQL 16 прямо в браузере).
Хочешь разобрать SQL системно с нуля — пройди бесплатный курс «SQL с нуля» и закрепи навык в тренажёре.
Решить в интерактивной SQL-песочнице → ← Все SQL-задачи