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

Eliminación de registros duplicados usando una sola consulta

Usando un ROW_NUMBER en un CTE le permite eliminar valores duplicados mientras conserva filas únicas.

WITH q AS (
  SELECT RN = ROW_NUMBER() OVER (PARTITION BY ID ORDER BY ID )
         , ID
         , Name
  FROM   ATable
)
DELETE FROM q WHERE RN > 1