Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.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
如何删除重复的mysql列条目?_Mysql - Fatal编程技术网

如何删除重复的mysql列条目?

如何删除重复的mysql列条目?,mysql,Mysql,我有一个名为“dev”的mysql表,其中有一列“email”。我想选择所有唯一的电子邮件地址并删除重复的电子邮件地址 我的结构如下: id || email 1 user1@example.com 2 userB@example.com 3 user1@example.com 我想要的是 id || email 1 user1@example.com 2 userB@e

我有一个名为“dev”的mysql表,其中有一列“email”。我想选择所有唯一的电子邮件地址并删除重复的电子邮件地址

我的结构如下:

id    ||    email
1           user1@example.com
2           userB@example.com
3           user1@example.com
我想要的是

id    ||    email
1           user1@example.com
2           userB@example.com
我可以使用什么mysql查询来实现这一点


提前谢谢

创建一个新表,并选择要保留在新表中的元素。如果不需要保留原始ID,则可以执行以下操作:

INSERT INTO dev2 (email)
SELECT DISTINCT(email)
FROM dev
如果您需要为每个电子邮件地址保留第一行的id,请改用此id:

INSERT INTO dev2 (id, email)
SELECT MIN(id), email
FROM dev
GROUP BY email
填充新表后,可以删除原始表,然后将新表重命名为正确的名称