I have a table in mysql which have 1319 duplicate records how can I delete duplicate values but have 1 record saved?
Asked
Active
Viewed 238 times
2 Answers
0
There are many options:
First use this kind of query:
DELETE FROM comments c1
WHERE EXISTS (SELECT *
FROM comments c2
WHERE c2.id <> c1.id
AND c2.NAME = c1.NAME
AND c2.email = c1.email
AND c2.COMMENT = c1.COMMENT)
AND c1.id <> (SELECT MIN(c2.id)
FROM comments c2
WHERE c2.NAME = c1.NAME
AND c2.email = c1.email
AND c2.COMMENT = c1.COMMENT)
Second:
Create another blank table of same structure and insert into second table using group by on all columns or few unique columns.
Third:
Apply a unique key using alter ignore table.

marc_s
- 732,580
- 175
- 1,330
- 1,459

Aman Aggarwal
- 17,619
- 9
- 53
- 81
-
Third option worked for me thanks Aman – Durgesh Tanwar Jan 24 '14 at 09:38
0
try this.....
DELETE FROM tbl WHERE id NOT IN ( SELECT * FROM(SELECT id FROM tbl GROUP BY col1, col2, ) AS p)

Yograj Sudewad
- 343
- 2
- 9