sql >> Databasteknik >  >> RDS >> Sqlserver

Ta bort dubbletter från stor datamängd (>100 miljoner rader)

Om du använder SQL Server kan du använda 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

Här kommer alla rader att numreras, du får en egen sekvens för varje unik kombination av SICComb + NameComb . Du kan välja vilka rader du vill ta bort genom att välja order by inuti over klausul.



  1. Använda Aria Storage Engine med MariaDB Server

  2. MySQL SLIPPA alla tabeller, ignorera främmande nycklar

  3. mysql ft_min_word_len ändring på ubuntu fungerar inte

  4. Konvertera datum i formatet MM/DD/ÅÅÅÅ till MySQL-datum