DELETE t1 FROM tmp_b t1
INNER JOIN tmp_b t2
WHERE t1.a = t2.a AND t1.id > t2.id;
此查询使用了自身的表别名t1
和t2
,并且只删除了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
);