Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Eliminazione di record duplicati utilizzando una sola query

Utilizzo di un ROW_NUMBER in un CTE ti consente di eliminare i valori duplicati mantenendo le righe univoche.

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