У меня есть таблица с записями:Oracle SQL для удаления дубликатов записей на основе столбцов
DATE NAME AGE ADDRESS
01/13/2014 abc 27 us
01/29/2014 abc 27 ma <- duplicate
02/03/2014 abc 27 ny <- duplicate
02/03/2014 def 28 ca
Я хочу, чтобы удалить номер записи 2 и 3, так как они являются дубликатами для записи 1, основанные на имя и возраст. Столбец DATE - это метка времени, основанная на записи, когда она была добавлена (дата sql), и считается уникальной.
Я нашел этот SQL, но не уверен, что если он будет работать, и немного обеспокоен тем, как таблица имеет 2 миллиона записей и delting неправильные будет плохая идея:
SELECT A.DATE, A.NAME, A.AGE
FROM table A
WHERE EXISTS (SELECT B.DATE
FROM table B
WHERE B.NAME = A.NAME
AND B.AGE = A.AGE);
Есть много экземпляр этого так что если кто-то может помочь мне написать sql для удаления этих записей?
который 'DBMS' вы действительно используете ??? –
В заголовке вы указываете oracle и mysql и sql-server как теги. Какой из них вам действительно нужен? – Wanderer
Я использую разработчика oracle sql для просмотра таблиц. Я только что видел заявление sql и задаюсь вопросом, сработает ли он. –