Mengalih Keluar Baris Pendua dalam Pelayan SQL Dengan Cekap Sambil Memelihara Satu Baris
Integriti data adalah penting dalam pengurusan pangkalan data. Artikel ini menangani isu biasa untuk mengalih keluar baris pendua daripada jadual SQL Server sambil memastikan sekurang-kurangnya satu contoh bagi setiap set data unik kekal. T-SQL menyediakan penyelesaian mudah menggunakan ungkapan jadual biasa (CTE).
Klausa OVER
dalam CTE adalah kunci kepada proses ini. Berikut ialah contoh ilustrasi:
<code class="language-sql">WITH cte AS ( SELECT [foo], [bar], ROW_NUMBER() OVER (PARTITION BY [foo], [bar] ORDER BY [baz]) AS rn FROM [TABLE] ) DELETE FROM cte WHERE rn > 1;</code>
Pertanyaan ini menggunakan CTE untuk menetapkan nombor baris unik (rn
) kepada setiap baris dalam kumpulan yang ditakrifkan oleh lajur [foo]
dan [bar]
. Klausa ORDER BY [baz]
menentukan baris mana dalam setiap kumpulan disimpan; anda harus menyesuaikannya berdasarkan keperluan khusus anda. Pernyataan DELETE
kemudian mengalih keluar semua baris dengan rn
lebih besar daripada 1, meninggalkan hanya satu baris wakil untuk setiap gabungan unik [foo]
dan [bar]
.
Pendekatan ini menawarkan kaedah yang cekap dan boleh dipercayai untuk mengekalkan kebersihan dan ketepatan data dalam pangkalan data SQL Server anda.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Padamkan Baris Pendua dalam Pelayan SQL Semasa Menyimpan Satu Baris?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!