DECLARE @COUNT INT
DECLARE @TOTAL INT
DECLARE @POST VARCHAR(100)
DECLARE @TBL TABLE
(
ID INT IDENTITY,
Post VARCHAR(100),
TOTAL INT
)
INSERT INTO @TBL
SELECT Post, count(*) as [count]
FROM tblemp
GROUP BY Post
HAVING count(*) > 1
SET @COUNT=(SELECT COUNT(*) FROM @TBL)
WHILE @COUNT>0
BEGIN
SET @POST=(SELECT POST FROM @TBL WHERE ID=@COUNT)
SET @TOTAL=(SELECT TOTAL FROM @TBL WHERE ID=@COUNT)
DELETE TOP(@TOTAL-1) FROM tblemp WHERE POST=@POST
SET @COUNT=@COUNT-1
END
Other Way//////////////////////////
How to Delete duplicate rows from a table?
http://www.cryer.co.uk/brian/sql/sql_delete_duplicates.htm
Create table tbltest(Id int identity,Name varchar(50),Age int)
//Insert Duplicate Record in the table
insert into tbltest values('Amandeep',25)
//Select * from tbltest
1 Manpreet 24
7 Amandeep 25
8 Amandeep 25
4 Amandeep 25
9 Amandeep 25
10 Manpreet 24
11 Manpreet 24
12 Manpreet 24
delete T1
from tbltest T1, tbltest T2
where T1.Name = T2.Name
and T1.Age = T2.Age
and T1.Id > T2.Id
Run the above Query
//Select * from tbltest
1 Manpreet 24
4 Amandeep 25
DECLARE @TOTAL INT
DECLARE @POST VARCHAR(100)
DECLARE @TBL TABLE
(
ID INT IDENTITY,
Post VARCHAR(100),
TOTAL INT
)
INSERT INTO @TBL
SELECT Post, count(*) as [count]
FROM tblemp
GROUP BY Post
HAVING count(*) > 1
SET @COUNT=(SELECT COUNT(*) FROM @TBL)
WHILE @COUNT>0
BEGIN
SET @POST=(SELECT POST FROM @TBL WHERE ID=@COUNT)
SET @TOTAL=(SELECT TOTAL FROM @TBL WHERE ID=@COUNT)
DELETE TOP(@TOTAL-1) FROM tblemp WHERE POST=@POST
SET @COUNT=@COUNT-1
END
Other Way//////////////////////////
How to Delete duplicate rows from a table?
http://www.cryer.co.uk/brian/sql/sql_delete_duplicates.htm
Create table tbltest(Id int identity,Name varchar(50),Age int)
//Insert Duplicate Record in the table
insert into tbltest values('Amandeep',25)
//Select * from tbltest
1 Manpreet 24
7 Amandeep 25
8 Amandeep 25
4 Amandeep 25
9 Amandeep 25
10 Manpreet 24
11 Manpreet 24
12 Manpreet 24
delete T1
from tbltest T1, tbltest T2
where T1.Name = T2.Name
and T1.Age = T2.Age
and T1.Id > T2.Id
Run the above Query
//Select * from tbltest
1 Manpreet 24
4 Amandeep 25
Comments