traer seleccionar saber repetidos registros hay eliminar duplicados datos contar consultar buscar mysql duplicate-removal sql-delete any

seleccionar - Eliminar datos duplicados de una tabla utilizando MySQL



select mysql registros duplicados (2)

Estoy tratando de eliminar datos duplicados de mi base de datos. Encontré un buen ejemplo aquí sobre cómo hacer esto en una base de datos de Oracle .

La consulta inferior de esa respuesta (solo seleccionando las filas duplicadas) funciona en MySQL, pero la consulta de eliminación (ver a continuación) no ...

"DELETE FROM studios as a WHERE a.id > ANY (SELECT b.id FROM studios as b WHERE a.name = b.name AND a.email = b.email )"

El error que recibo es:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''a WHERE a.id > ANY (SELECT b.id FROM studios as b '' at line 1

Entonces, busqué la sintaxis de eliminación correcta y cualquier sintaxis para usar, pero no encontré nada erróneo en mi consulta ... ¿Alguna idea?


El operador AS no funciona con las instrucciones DELETE en MySQL.

Pruebe esto (sin verificar):

DELETE FROM a using studios a WHERE a.id > ANY ( SELECT b.id FROM studios as b WHERE a.name = b.name AND a.email = b.email )


Prueba esta consulta -

DELETE t1 FROM studios t1 JOIN (SELECT MIN(id) id, name, email FROM studios GROUP BY name, email) t2 ON t1.id <> t2.id AND t1.name = t2.name AND t1.email = t2.email;