2016-11-24 2 views
0

У меня есть репликация около 200 записей в таблице, я хочу удалить все, кроме одного, как это сделать?удалять повторяющиеся записи, кроме одного

+1

Посмотрите на это http://stackoverflow.com/questions/59232/how-do-i-find-duplicate-values- в-таблицы-в-оракула. Если это ваш случай, любезно закройте эту ветку. – Viki888

+0

@ viki888, я спрашиваю об удалении, чтобы не найти дубликаты :) – KeenLearner

+0

УДАЛИТЬ ОТ таблицы WHERE (... ваш запрос на выбор с лимитом 199 ...) – dgk

ответ

0

Источник http://www.devx.com

Это легко ввести повторяющиеся строки данных в таблицы Oracle по запуску загрузки данных в два раз без первичного ключа или уникальных индексов созданных или enabled.Here column1, COLUMN2, колонка3 составляют идентифицирующий ключ для каждой записи.

DELETE FROM our_table 
WHERE rowid not in 
(SELECT MIN(rowid) 
FROM our_table 
GROUP BY column1, column2, column3) ; 
-3

использовать следующий запрос. Это применимо, если для таблицы имеется идентификатор.

удалить из TABLEA, где идентификатор в (выбрать топ 199 идентификатор из TABLEA)

Смежные вопросы