In antwoord op uw opmerking, hier is een vraag die werkt in MySQL:
delete YourTable
from YourTable
inner join YourTable yt2
on YourTable.product_id = yt2.product_id
and YourTable.id < yt2.id
Dit zou alleen dubbele rijen verwijderen. De inner join
filtert de laatste rij voor elk product, zelfs als er geen andere rijen voor hetzelfde product bestaan.
PS Als u de tabel probeert te aliasen na FROM
, MySQL vereist dat je de naam van de database specificeert, zoals:
delete <DatabaseName>.yt
from YourTable yt
inner join YourTable yt2
on yt.product_id = yt2.product_id
and yt.id < yt2.id;