Se non funziona procedi per gradi.

codice:
select campo from tabella 
group by campo
having count(*) = 1)
Parti da questa porzione per ricavare le voci presenti una sola volta.

Il resto della query è una semplice delete che cancella dalla tabella tali voci.
E' necessario ricorrere all'escamotage "select * from con relativo alias" per evitare l'errore

You can't specify target table 'nome_tabella' for update in FROM clause.