sql >> Databasteknik >  >> RDS >> Mysql

Hur tar jag bort dubbletter av rader i min MySQL-databas? (Behåll den med lägsta primära ID)

Något sådant här borde fungera:

DELETE FROM `table` 
WHERE `id` NOT IN (
    SELECT MIN(`id`) 
    FROM `table`
    GROUP BY `download_link`)

Bara för att vara på den säkra sidan, innan du kör själva raderingsfrågan, kanske du vill göra ett motsvarande val för att se vad som raderas:

SELECT * FROM `table` 
WHERE `id` NOT IN (
    SELECT MIN(`id`) 
    FROM `table`
    GROUP BY `download_link`)


  1. Hur får man bytestorleken på resultaten i en SQL-fråga?

  2. C# SqlConnection Undantag:Nyckelord stöds inte 'Port'

  3. Identitetsökningen hoppar i SQL Server-databasen

  4. Mappning av fältet ORACLE TIMESTAMP(9) till java.util.Date