Дедупликация таблицы заказов

easy data_engineering Общие

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

**Компания:** Озон

**Контекст:** В таблицу `orders` из-за сбоя в ETL попали дубли. Одна и та же строка может повторяться несколько раз. Нужно оставить только уникальные записи.

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

**Задание:**
1. Напишите запрос, который находит все полные дубли (совпадение по всем полям)
2. Напишите запрос для удаления дубликатов, оставив только одну копию каждой записи
3. Предложите способ защиты от повторного появления дубликатов

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

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

CREATE TABLE orders_clean AS
SELECT DISTINCT * FROM orders;

DROP TABLE orders;
ALTER TABLE orders_clean RENAME TO orders;

Темы

ROW_NUMBER дедупликация CTE оконные функции

Подсказки

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

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

Какой уровень знаний нужен для задачи "Дедупликация таблицы заказов"?

Это задание для уровня easy. Senior-уровень — глубокое понимание темы, опыт решения нестандартных задач, обсуждение trade-off на собеседовании.

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

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

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

На реальном собеседовании на подобную задачу отводится 30-60 минут с обсуждением подходов, оптимизаций и trade-off. Для тренировки рекомендуем сначала решить самостоятельно, потом сверить с эталонным решением и подсказками.

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

На zasqlpython.ru есть другие задания в категории «data_engineering», продуктовые кейсы, справочник метрик, AI мок-собеседование с разбором ваших ответов.

← Все задания