sql >> Database >  >> RDS >> Sqlserver

SQL:dubbele records verwijderen in SQL Server

Welnu, dit is een reden waarom u een primaire sleutel op tafel zou moeten hebben. Welke versie van SQL Server? Voor SQL Server 2005 en hoger:

;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;

Dan, zodat u dit morgen niet opnieuw hoeft te doen, en de volgende dag, en de dag daarna, declareert u een primaire sleutel op de tafel.



  1. Hoe informatie in kolommen voor e-mail op te vullen

  2. Alfabetische standaard ORDER BY overschrijven met een UNION van 2+ tabellen?

  3. Zelfstudie SQL-transacties

  4. MySql Selecteer waar en C#