Qualcosa del genere dovrebbe funzionare:
DELETE FROM `table`
WHERE `id` NOT IN (
SELECT MIN(`id`)
FROM `table`
GROUP BY `download_link`)
Per sicurezza, prima di eseguire la query di eliminazione effettiva, potresti voler fare una selezione equivalente per vedere cosa viene eliminato:
SELECT * FROM `table`
WHERE `id` NOT IN (
SELECT MIN(`id`)
FROM `table`
GROUP BY `download_link`)