PHP / MySQL - 更新具有重复条目的行

时间:2011-02-01 23:59:19

标签: mysql sql sql-update

我有一个数据库(大约300万条记录),它有多个/重复记录,数据库中有相同的“电子邮件”,我想留下一行,其默认状态为(0)并更新“status = 5”其余的重复。  请注意,并非所有记录都有重复记录。电子邮件地址以base64编码存储。

1 个答案:

答案 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