Задать вопрос
warlinx
@warlinx

Как удалить дубликаты Oracle SQL?

Есть таблица с несколькими столбцами. В некоторых столбцах имеются повторяющиеся значения. Нужно удалить те строки, где в столбцах значения повторяются
Например
item column column1 column 2

И аналогично, нужно вывести все дублирующиеся строки
  • Вопрос задан
  • 6609 просмотров
Подписаться 1 Простой 2 комментария
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Инженер по тестированию
    5 месяцев
    Далее
  • Яндекс Практикум
    Java-разработчик
    10 месяцев
    Далее
  • Яндекс Практикум
    Python-разработчик расширенный
    14 месяцев
    Далее
Решения вопроса 1
@Akina
Сетевой и системный админ, SQL-программист.
Вывод дубликатов:
SELECT t1.*
FROM table t1
WHERE EXISTS ( SELECT NULL
               FROM table t2
               WHERE t1.id <> t2.id -- выражение первичного ключа
                 AND t1.column = t2.column -- для всех полей, кроме первичного ключа


Удаление:
DELETE 
FROM table t1
WHERE EXISTS ( SELECT NULL
               FROM table t2
               WHERE t1.id > t2.id -- оставить только запись с минимальным ID
                 AND t1.column = t2.column
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы