如何从mysql表中删除有1条记录的重复记录

如何从mysql表中删除有1条记录的重复记录,mysql,duplicates,records,Mysql,Duplicates,Records,我在mysql中有一个表,其中有1319条重复记录。如何删除重复值,但保存1条记录 有很多选择: 首先使用这种查询: DELETE FROM comments c1 WHERE EXISTS (SELECT * FROM comments c2 WHERE c2.id <> c1.id AND c2.NAME = c1.NAME AND c2.email

我在mysql中有一个表,其中有1319条重复记录。如何删除重复值,但保存1条记录

有很多选择:

首先使用这种查询:

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)
第二:

创建另一个具有相同结构的空白表,并在所有列或少数唯一列上使用GROUPBY插入第二个表

第三:

使用alter ignore table应用唯一键。

尝试此操作

从tbl中删除 我不在哪里 SELECT*FROMSELECT id FROM tbl GROUP BY col1、col2、, AS p


第三个选择对我有用谢谢你,阿曼