Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Padamkan Baris Pendua dalam Pelayan SQL Semasa Menyimpan Satu Baris?

Bagaimanakah Saya Boleh Padamkan Baris Pendua dalam Pelayan SQL Semasa Menyimpan Satu Baris?

Linda Hamilton
Linda Hamiltonasal
2025-01-15 16:11:45987semak imbas

How Can I Delete Duplicate Rows in SQL Server While Keeping One Row?

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn