1 delete from TableName where id in( 2 3 select id from( 4 5 select id from TableName where name in (select name from TableName group by name having count(name) > 1) 6 and id not in(select id from TableName group by name having count(name )>1))t 7 )