Als Antwort auf Ihren Kommentar ist hier eine Abfrage, die in MySQL funktioniert:
delete YourTable
from YourTable
inner join YourTable yt2
on YourTable.product_id = yt2.product_id
and YourTable.id < yt2.id
Dies würde nur doppelte Zeilen entfernen. Der inner join
filtert die neueste Zeile für jedes Produkt heraus, auch wenn keine anderen Zeilen für dasselbe Produkt vorhanden sind.
P.S. Wenn Sie versuchen, die Tabelle nach FROM
zu aliasen , MySQL verlangt, dass Sie den Namen der Datenbank angeben, wie zum Beispiel:
delete <DatabaseName>.yt
from YourTable yt
inner join YourTable yt2
on yt.product_id = yt2.product_id
and yt.id < yt2.id;