In Oracle, you can do this by using the hidden column rowid
and a correlated subquery:
delete from a
where rowid > (select min(rowid)
from a a2
where a.a = a2.a
);
Alternatively, you can phrase this as a not in
:
delete from a
where rowid not in (select min(rowid)
from a a2
group by a2.a
);