我有一个名为“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查询来完成此任务?
提前致谢!
答案 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
填写新表后,您可以删除原始表,然后将新表重命名为正确的名称。