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

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

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

1 ответ1

0

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

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .