Выявление повторяющихся строк по определенным столбцам и удаление

210
IT Worker

У меня есть результаты sql 9000k строк и> 10 столбцов. Мне нужно удалить строки как дубликаты, у которых есть еще одна строка, которая соответствует 4 столбцам (не точная строка дублирования). Я исследовал и пробовал разные вещи, но ничто не помогает мне в этом. Это единовременное преобразование данных и тестирование преобразования для него.

Таким образом, если строки 1 и 22 имеют одинаковые значения в столбцах A1 - A22, D1 - D22, H1 - H22 и K1-K22, то это дублирование, и мне нужно удалить одно из них (с более поздней датой в другом столбце)

Если бы я мог сделать это в SQL отлично, но у меня ограниченные права и доступ к таблице (как и должно быть!) И не может выполнять все функции SQL. (например, создавать таблицы).

0

1 ответ на вопрос

0
Eric F

Вы можете сделать что-то такого рода:

DELETE FROM table WHERE rowid NOT IN ( SELECT MIN(rowid)  FROM table GROUP BY col1, col2 ) 

Замените таблицу на таблицу, в которой вы ищете, col1 и любые другие столбцы, которые вам нужны, чтобы классифицировать что-то как дубликат, и rowid с любым столбцом индекса.

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