with duplicates as (select *,ROW_NUMBER() over( partition by id,name,salary order by id,salary) rownum from Person) delete from duplicates where rownum > 1