Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Suppression des enregistrements en double à l'aide d'une seule requête

Utilisation d'un ROW_NUMBER dans un CTE vous permet de supprimer les valeurs en double tout en conservant des lignes uniques.

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