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`)