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

Supprimer les doublons d'un grand ensemble de données (> 100 millions de lignes)

Si vous utilisez SQL Server, vous pouvez utiliser l'expression delete from common table :

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

Ici, toutes les lignes seront numérotées, vous obtenez votre propre séquence pour chaque combinaison unique de SICComb + NameComb . Vous pouvez choisir les lignes que vous souhaitez supprimer en choisissant order by à l'intérieur du over clause.