Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Hapus duplikat dari kumpulan data besar (>100 juta baris)

Jika Anda menggunakan SQL Server, Anda dapat menggunakan hapus dari ekspresi tabel umum:

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

Di sini semua baris akan diberi nomor, Anda mendapatkan urutan sendiri untuk setiap kombinasi unik SICComb + NameComb . Anda dapat memilih baris mana yang ingin Anda hapus dengan memilih order by di dalam over klausa.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Prosedur tersimpan dengan nama tabel sebagai parameter

  2. SQL Server:temukan duplikat dalam tabel berdasarkan nilai dalam satu kolom

  3. Mengakses parameter output prosedur tersimpan SQL Server di C#

  4. LANTAI () Contoh di SQL Server

  5. TSQL:Transaksi Coba-Tangkap di Pemicu