UNION ALL для объединения разных источников событий

Middle SQL Медиа

Условие задания

**Контекст:** Стриминговый сервис хранит разные типы контент-взаимодействий в отдельных таблицах. Нужно построить единую ленту активности для аналитики.

**Данные:**

[см. код в задании]

**Задание:**

1. Объедините все три типа событий в единую ленту с колонками: `user_id`, `event_type`, `video_id` (NULL для лайков комментариев), `event_ts`
2. Для каждого пользователя за последние 7 дней посчитайте:
- Количество просмотров, комментариев и лайков
- Общее время просмотра в минутах
- Самое частое действие (mode)

Пример данных

Структура для ориентира — реальные значения из эталонного решения.

CREATE TABLE video_views (
    id SERIAL PRIMARY KEY,
    user_id INT NOT NULL,
    video_id INT NOT NULL,
    watch_seconds INT NOT NULL,
    viewed_at TIMESTAMP NOT NULL
);

CREATE TABLE comments (
    id SERIAL PRIMARY KEY,
    user_id INT NOT NULL,
    video_id INT NOT NULL,
    comment_text TEXT NOT NULL,
    created_at TIMESTAMP NOT NULL
);

CREATE TABLE likes (
    id SERIAL PRIMARY KEY,
    user_id INT NOT NULL,
    content_type VARCHAR(20) NOT NULL,  -- 'video', 'comment'
    content_id INT NOT NULL,
    created_at TIMESTAMP NOT NULL
);

Темы

UNION ALL нормализация CTE несколько таблиц

Подсказки

Все тестовые задания →

Частые вопросы

Какой уровень знаний нужен для задачи "UNION ALL для объединения разных источников событий"?

Это задание для уровня Middle. Для middle-аналитиков с опытом 1-3 года, требует уверенного владения темой и понимания edge cases.

На каких собеседованиях встречается такая задача?

Подобные задания в категории «SQL» регулярно дают на собеседованиях аналитика данных в Яндекс, Сбер, Ozon, Авито, Тинькофф, Wildberries, T-Bank, X5, ВТБ и других крупных IT-компаниях. Тематика: UNION ALL, нормализация, CTE, несколько таблиц.

Сколько времени даётся на решение?

На реальном собеседовании на подобную задачу отводится 15-30 минут — оцениваются подход, корректность, обработка edge cases. Для тренировки рекомендуем сначала решить самостоятельно, потом сверить с эталонным решением и подсказками.

Где ещё потренироваться по теме «SQL»?

На zasqlpython.ru есть 425 SQL задач в песочнице с автопроверкой кода, конспекты SQL для аналитика, AI мок-собеседование с разбором ваших ответов.

← Все задания