sql >> Base de Datos >  >> Database Tools >> SSMS

Eliminación de duplicados en función de varias columnas

Use un cte y asigne números de fila para que se puedan eliminar todos los pares duplicados menos uno.

with rownums as 
(select m.*, 
 row_number() over(partition by ToUserId, FromUserId order by ToUserId, FromUserId) as rnum
 from Message m)
delete r
from rownums r
where rnum > 1