W odpowiedzi na Twój komentarz, oto zapytanie, które działa w MySQL:
delete YourTable
from YourTable
inner join YourTable yt2
on YourTable.product_id = yt2.product_id
and YourTable.id < yt2.id
To usunie tylko zduplikowane wiersze. inner join
odfiltruje ostatni wiersz dla każdego produktu, nawet jeśli nie istnieją inne wiersze dla tego samego produktu.
PS Jeśli spróbujesz aliasować tabelę po FROM
, MySQL wymaga podania nazwy bazy danych, na przykład:
delete <DatabaseName>.yt
from YourTable yt
inner join YourTable yt2
on yt.product_id = yt2.product_id
and yt.id < yt2.id;