У меня есть таблица, которая имеет два столбца, идентификатор и дату. Здесь приведены данные сэмпла.удалить дубликаты записей в oracle
ID DATE
1 01-Jan -14 05.42.23.000000000 pm
1 01-Jan -14 05.06.17.000000000 pm
2 01-Jan -14 05.26.16.000000000 pm
2 01-Jan -14 05.41.20.000000000 pm
3 01-Jan -14 05.21.19.000000000 pm
3 01-Jan -14 05.08.18.000000000 pm
4 01-Jan -14 05.14.17.000000000 pm
4 01-Jan -14 05.17.17.000000000 pm
Колонка ID
имеет дубликата данные, которые нужно удалить, я хочу сохранить строки, какой столбец DATE
больше.
Я пишу SQL, но результат неверен.
delete from newproducts a
where a.id in
(select t.id from newproducts t group by t.id having count(*) > 1)
and a.date not in
(select max(t.date) from newproducts t group by t.id having count(*) > 1);
как исправить? Спасибо
Noooooooo! не удаляйте дубликат вопроса! Как удалить повторяющиеся «удалить дубликаты» вопросов? – tbone