Skip to main content

Delete duplicate record

Q - Delete duplicate data from a table.

A - First of all create a table -

 create table del_duplicate
 (
 id int ,
 name varchar (15),
 class varchar (15)
 )

insert records :

 insert into del_duplicate values ('1','Abhishek','IT')
 insert into del_duplicate values ('1','Abhishek','IT')
 insert into del_duplicate values ('2','Amit','Civil')
 insert into del_duplicate values ('2','Amit','Civil')

Query for delete duplicate data -:

Method 1:

SELECT DISTINCT id,name,class
INTO    tempTable
FROM    del_duplicate
GO
TRUNCATE TABLE del_duplicate
DROP TABLE del_duplicate
exec sp_rename 'tempTable', 'del_duplicate'

Method 2:

      SET NOCOUNT ON
      SET ROWCOUNT 1
      WHILE 1 = 1
       BEGIN
       DELETE   FROM del_duplicate
      WHERE    id IN (SELECT  id
      FROM    del_duplicate
     GROUP BY id
     HAVING  COUNT(*) > 1)
     IF @@Rowcount = 0
     BREAK ;
     END
     SET ROWCOUNT 0

Comments

Post a Comment