sql >> Base de Datos >  >> RDS >> Mysql

¿Cómo elimino filas duplicadas en mi base de datos MySQL? (Mantenga el que tenga el ID principal más bajo)

Algo como esto debería funcionar:

DELETE FROM `table` 
WHERE `id` NOT IN (
    SELECT MIN(`id`) 
    FROM `table`
    GROUP BY `download_link`)

Solo para estar seguro, antes de ejecutar la consulta de eliminación real, es posible que desee hacer una selección equivalente para ver qué se elimina:

SELECT * FROM `table` 
WHERE `id` NOT IN (
    SELECT MIN(`id`) 
    FROM `table`
    GROUP BY `download_link`)