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

Excluir duplicatas de um grande conjunto de dados (> 100 milhões de linhas)


Se estiver usando o SQL Server, você pode usar delete from common table expression:
with cte as (
    select row_number() over(partition by SICComb, NameComb order by Col1) as row_num
    from Table1
)
delete
from cte
where row_num > 1

Aqui todas as linhas serão numeradas, você obtém sua própria sequência para cada combinação única de SICComb + NameComb . Você pode escolher quais linhas deseja excluir escolhendo order by dentro do over cláusula.