sql >> Databáze >  >> RDS >> Sqlserver

Odstranit duplikáty z velké datové sady (> 100 milionů řádků)

Pokud používáte SQL Server, můžete použít 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

Zde budou všechny řádky očíslovány, pro každou jedinečnou kombinaci SICComb získáte vlastní sekvenci + NameComb . Výběrem order by si můžete vybrat, které řádky chcete smazat uvnitř over doložka.



  1. MySQL Inner Join With LIMIT k levému stolu

  2. Delegát System.Action<dynamic,int> nebere argumenty `1'

  3. SQL získat data z BEGIN; ...; KONEC; blok v pythonu

  4. Vyberte n-tý percentil z MySQL