sql >> Databasteknik >  >> RDS >> Mysql

Ta bort dubbletter av SQL-poster för att tillåta en unik nyckel

Som svar på din kommentar, här är en fråga som fungerar i MySQL:

delete YourTable
from YourTable
inner join YourTable yt2
on YourTable.product_id = yt2.product_id
and YourTable.id < yt2.id

Detta skulle bara ta bort dubbletter av rader. Den inner join kommer att filtrera bort den senaste raden för varje produkt, även om det inte finns några andra rader för samma produkt.

P.S. Om du försöker alias tabellen efter FROM , MySQL kräver att du anger namnet på databasen, som:

delete <DatabaseName>.yt
from YourTable yt
inner join YourTable yt2
on yt.product_id = yt2.product_id
and yt.id < yt2.id;


  1. Infogar HTML-formulär $_POST Array i MySQL med Implode

  2. Välja flera kolumner/fält i MySQL-underfrågan

  3. SQL-valfönster runt en viss rad

  4. Hur anger man Ruby regex när man använder Active Record i Rails?