我有一个数据库(大约300万条记录),它有多个/重复记录,数据库中有相同的“电子邮件”,我想留下一行,其默认状态为(0)并更新“status = 5”其余的重复。 请注意,并非所有记录都有重复记录。电子邮件地址以base64编码存储。
答案 0 :(得分:9)
UPDATE tbl
JOIN (
SELECT email, MIN(ID) minID
FROM tbl
GROUP BY email
HAVING COUNT(*) > 1) t2 ON tbl.email = t2.email AND tbl.id != t2.minID
SET tbl.status = 5