V odpovědi na váš komentář je zde dotaz, který funguje v MySQL:
delete YourTable
from YourTable
inner join YourTable yt2
on YourTable.product_id = yt2.product_id
and YourTable.id < yt2.id
Tím by se odstranily pouze duplicitní řádky. inner join
odfiltruje nejnovější řádek pro každý produkt, i když pro stejný produkt žádné jiné řádky neexistují.
P.S. Pokud se pokusíte vytvořit alias tabulky za FROM
, MySQL vyžaduje, abyste uvedli název databáze, například:
delete <DatabaseName>.yt
from YourTable yt
inner join YourTable yt2
on yt.product_id = yt2.product_id
and yt.id < yt2.id;