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

Elimina i duplicati da un set di dati di grandi dimensioni (> 100 milioni di righe)

Se stai usando SQL Server, puoi usare l'espressione elimina dall'espressione di tabella comune:

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

Qui tutte le righe saranno numerate, ottieni una sequenza personalizzata per ogni combinazione univoca di SICComb + NameComb . Puoi scegliere le righe che desideri eliminare scegliendo order by all'interno del over clausola.