Можно выполнить INSERT SELECT с дедупликацией в подзапросе, не создавая отдельную физическую таблицу. Сначала определите ключ и правило выбора версии.
Можно ли объединить дедупликацию и последующий перелив данных, не используя отдельные таблицы; каким способом?
Можно выполнить INSERT SELECT с дедупликацией в подзапросе, не создавая отдельную физическую таблицу. Сначала определите ключ и правило выбора версии.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Можно выполнить INSERT SELECT с дедупликацией в подзапросе, не создавая отдельную физическую таблицу. Сначала определите ключ и правило выбора версии.
Например, подзапрос рассчитывает ROW_NUMBER() OVER (PARTITION BY business_key ORDER BY version DESC, id DESC), а внешний SELECT оставляет rn = 1 и записывает результат. Это удаляет повторы внутри выбранного набора, но само по себе не защищает от повторного запуска всей загрузки. Для него нужны уникальность, upsert или согласованная замена диапазона в целевой системе.