sql >> Database >  >> RDS >> Sqlserver

Verwijder duplicaten uit grote dataset (> 100 miljoen rijen)

Als u SQL Server gebruikt, kunt u delete from common table expression gebruiken:

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

Hier worden alle rijen genummerd, je krijgt een eigen volgorde voor elke unieke combinatie van SICComb + NameComb . U kunt kiezen welke rijen u wilt verwijderen door order by te kiezen binnen de over clausule.



  1. Hoe kan de PL/SQL-grammatica die bij ANTLR4 wordt geleverd, worden getest?

  2. Wat te indexeren bij zoekopdrachten met veel kolommen in de WHERE-component

  3. Een getal opmaken als valuta in Oracle

  4. PostgreSQL JDBC getGeneratedKeys retourneert alle kolommen