Puedes probar esto ejecutándolo varias veces :
delete from mytable where id in (
select max(id)
from mytable
group by name
having count(1) > 1
);
Donde varias veces es igual al número máximo de repeticiones que tienes en name
columna.
De lo contrario, puede intentar esta consulta más compleja:
delete from mytable where id in (
select id from mytable
except
(
select min(id)
from mytable
group by name
having count(1) > 1
union all
select min(id)
from mytable
group by name
having count(1) = 1
)
);
Ejecutar esta consulta una sola vez debería eliminar todo lo que necesita. Aunque no lo he probado...