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

时间:2010-10-10 19:06:48

标签: 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@example.com

我可以使用什么mysql查询来完成此任务?

提前致谢!

1 个答案:

答案 0 :(得分:1)

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

INSERT INTO dev2 (email)
SELECT DISTINCT(email)
FROM dev

如果您需要为每个电子邮件地址保留第一行的ID,请改用:

INSERT INTO dev2 (id, email)
SELECT MIN(id), email
FROM dev
GROUP BY email

填写新表后,您可以删除原始表,然后将新表重命名为正确的名称。