表:tt
字段
id name
1 c1
2 c1
3 c2
4 c3
5 c2
方法一:delete from tt where id in (select * from (select max(id) from tt group by name having count(name)>1) as b );
方法二:delete s1 from tt as s1 left join (select * from tt group by name having count(name)>1)as s2 on s1.name = s2.name where s1.id>s2.id;