select name,count(*) from persongroup by namehaving count(*)>1
delete from personwhere id inselect distinct a.id From person a,(select * From person where name in(select name from persongroup by namehaving count(*)>1 )) bwhere a.name=b.name and a.id>b.id...
select id,t1.name,age, t2.times from test t1 inner join (select name,COUNT(*)as times from testgroup by name having COUNT(*)>1)t2 on t1.name=t2.name...