sql >> Base de Datos >  >> RDS >> Sqlserver

SQL:Eliminación de registros duplicados en SQL Server

Bueno, esta es una de las razones por las que debería tener una clave principal sobre la mesa. ¿Qué versión de SQL Server? Para SQL Server 2005 y superior:

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

Luego, para que no tenga que volver a hacer esto mañana, y al día siguiente, y al día siguiente, declare una clave principal en la tabla.