hum.. non so se è il metodo migliore.. ma potresti:
fare una query con distinct in modo da prendere un record per ogni doppione... dopo di che una seconda query, esterna alla prima, che cancelli tutti i record che non stanno nella prima query.. ovvero tutti i record che sono doppioni...
DELETE
FROM tabella
WHERE nome campo NOT IN (SELECT DISTINCT(nome_campo) FROM tabella)
dovrebbe andare (se non hai una versione di mysql troppo vecchia), ma ofssi in te prima di provarla farei un backup![]()