Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Exclusão de registros duplicados usando apenas uma consulta


Usando um ROW_NUMBER em um CTE permite excluir valores duplicados enquanto retém linhas exclusivas.
WITH q AS (
  SELECT RN = ROW_NUMBER() OVER (PARTITION BY ID ORDER BY ID )
         , ID
         , Name
  FROM   ATable
)
DELETE FROM q WHERE RN > 1