create temporary table tmp as SELECT test.name name,test.age age from test GROUP BY test.name,test.age HAVING count(*)>1; delete from test where EXISTS (select * from tmp where test.age=tmp.age and test.name=tmp.name);