sql >> Database teknologi >  >> RDS >> Sqlserver

SQL:Sletning af duplikerede poster i SQL Server

Nå, dette er en af ​​grundene til, at du bør have en primær nøgle på bordet. Hvilken version af SQL Server? Til SQL Server 2005 og nyere:

;WITH r AS ( SELECT col1, col2, col3, -- whatever columns make a "unique" row rn = ROW_NUMBER() OVER (PARTITION BY col1, col2, col3 ORDER BY col1) FROM dbo.SomeTable ) DELETE r WHERE rn > 1;

Så, så du ikke behøver at gøre dette igen i morgen, og dagen efter, og dagen efter, erklære en primær nøgle på bordet.



  1. Problemer med at bruge ROW_NUMBER() OVER (PARTITION BY ...)

  2. Hvordan udløser man mysql-begivenhed efter en tidsperiode?

  3. PHP afkrydsningsfelt indstillet til at kontrollere baseret på databaseværdi

  4. VÆLG erklæringsydelse ved hjælp af * versus en liste over feltnavne