Sorry about the previous answer:
This is the way it should be done( can be optimized)
declare @lp tinyint -- need for loop
declare @col1 tinyint,@col2 tinyint,@col3 tinyint --3 test columns
set @lp=1 -- like false
while @lp>0
begin
if not exists (select top 1 * from abc group by col1,col2,col3 having count(col1)>1)
set @lp=0 --like true, to end loop
else
begin --

real brain work here
select top 1 @col1 = col1,@col2 = col2,@col3 = col3 from abc group by col1,col2,col3 having count(col1)>1
--delete since no primary key,or unique way to identify row
delete from abc where col1=@col1 and col2=@col2 and col3=@col3
insert into abc values(@col1,@col2,@col3)
end
end
If you find another answer would like to hear from you.
Have fun.