mysql删除重复记录

DELETE t1 FROM tmp_b t1
INNER JOIN tmp_b t2
WHERE t1.a = t2.a AND t1.id > t2.id;

此查询使用了自身的表别名t1t2,并且只删除了id较大的记录,以保留a字段的第一个记录。删除后,您的表tmp_b将不再包含重复的a字段值

DELETE FROM tmp_b t1
WHERE EXISTS (
    SELECT 1
    FROM tmp_b t2
    WHERE t1.a = t2.a AND t1.id > t2.id
);

 

发表评论

邮箱地址不会被公开。