Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用PHPMyAdmin删除MySQL中的重复行?_Mysql_Phpmyadmin_Sql Update - Fatal编程技术网

如何使用PHPMyAdmin删除MySQL中的重复行?

如何使用PHPMyAdmin删除MySQL中的重复行?,mysql,phpmyadmin,sql-update,Mysql,Phpmyadmin,Sql Update,我有一个名为“master_数据库”的数据库和一个名为“info”的表 在“info”表中,我有多条记录,我需要“email”字段不包含任何重复项,但目前它确实包含。我可以运行什么SQL命令来删除这些重复项?使用以下命令可以知道重复的行: SELECT email, COUNT(email) FROM info GROUP BY email HAVING COUNT(email) > 1 这假设您在表中有一个唯一的ID,其中数字越高记录越晚,如果您有一个上次编辑的时间戳,则最好使用该时

我有一个名为“master_数据库”的数据库和一个名为“info”的表


在“info”表中,我有多条记录,我需要“email”字段不包含任何重复项,但目前它确实包含。我可以运行什么SQL命令来删除这些重复项?

使用以下命令可以知道重复的行:

SELECT email, COUNT(email) FROM info GROUP BY email HAVING COUNT(email) > 1 
这假设您在表中有一个唯一的ID,其中数字越高记录越晚,如果您有一个上次编辑的时间戳,则最好使用该时间戳的最大值

请先测试!运行以下命令进行测试:

SELECT * FROM master_database.info WHERE info.ID NOT IN (SELECT MAX(info.ID) FROM master_database.info GROUP BY info.email HAVING COUNT(info.email) > 1)

这些值将被删除。

请尝试对电子邮件使用
distinct
,这样我可以找到唯一的,但如何删除重复的?这也将删除包含非重复电子邮件的行。很抱歉,遗漏了计数>1的行
SELECT * FROM master_database.info WHERE info.ID NOT IN (SELECT MAX(info.ID) FROM master_database.info GROUP BY info.email HAVING COUNT(info.email) > 1)