**Данные:** Таблица `users` SaaS-платформы. Из-за бага при импорте появились дубликаты по `email`:
[см. код в задании]
**Задание:**
1. Найдите все дублирующиеся `email` (где email встречается больше одного раза)
2. Для каждого дублирующегося email оставьте только самую раннюю запись (с минимальным `created_at`), а остальные пометьте как дубликаты
3. Выведите `id`, `email`, `created_at` и номер строки (`rn`) для дубликатов (`rn > 1`), которые можно удалить
Структура для ориентира — реальные значения из эталонного решения.
CREATE TABLE users (
id SERIAL PRIMARY KEY,
email VARCHAR(200) NOT NULL,
name VARCHAR(150),
created_at TIMESTAMP NOT NULL
);
ROW_NUMBER PARTITION BY оконные функции дедупликация
Это задание для уровня Junior. Подходит для начинающих аналитиков, проверяет базовые знания SQL/Python/статистики.
Подобные задания в категории «SQL» регулярно дают на собеседованиях аналитика данных в Яндекс, Сбер, Ozon, Авито, Тинькофф, Wildberries, T-Bank, X5, ВТБ и других крупных IT-компаниях. Тематика: ROW_NUMBER, PARTITION BY, оконные функции, дедупликация.
На реальном собеседовании на подобную задачу отводится 5-10 минут — проверяется скорость и базовая грамотность. Для тренировки рекомендуем сначала решить самостоятельно, потом сверить с эталонным решением и подсказками.
На zasqlpython.ru есть 425 SQL задач в песочнице с автопроверкой кода, конспекты SQL для аналитика, AI мок-собеседование с разбором ваших ответов.
← Все задания