select * from tb_phone_no_prefix a where (a.prefix, a.isp, a.area) in (select prefix,isp, area from tb_phone_no_prefix group by prefix,isp, area having count(*) > 1) delete from tb_phone_no_prefix a where (a.prefix, a.isp, a.area) in (select prefix,isp, area from tb_phone_no_prefix group by prefix,isp, area having count(*) > 1) and id not in (select min(id) from tb_phone_no_prefix group by prefix,isp, area having count(*)>1)