Wenn Sie für jeden Namen einen Datensatz behalten möchten:
delete from ap
where ap.id > (select min(ap2.id) from ap ap2 where ap2.name = ap.name)
Wenn Sie für jeden Namen einen Datensatz behalten möchten:
delete from ap
where ap.id > (select min(ap2.id) from ap ap2 where ap2.name = ap.name)