La mejor manera de eliminar filas duplicadas por varias columnas es la más simple:
Agregue un índice ÚNICO:
ALTER IGNORE TABLE your_table ADD UNIQUE (field1,field2,field3);
El IGNORAR anterior se asegura de que solo se mantenga la primera fila encontrada, el resto se descarte.
(Luego puede eliminar ese índice si necesita futuros duplicados y/o sabe que no volverán a suceder).