Mengalih keluar Entri Pendua dalam Jadual Pelayan SQL
Masalah:
Andaikan anda mempunyai jadual Employee
dengan medan dipanggil EmployeeName
yang mengandungi entri pendua. Bagaimanakah anda boleh menggunakan T-SQL untuk mengalih keluar baris pendua ini berdasarkan lajur EmployeeName
dalam SQL Server?
Penyelesaian:
Padam baris pendua dalam SQL Server dengan cekap menggunakan T-SQL dan fungsi tetingkap. Dengan memesan pendua menggunakan ID pekerja, kami hanya boleh mengekalkan kejadian pertama bagi setiap nama.
<code class="language-sql">DELETE x FROM ( SELECT *, rn = ROW_NUMBER() OVER (PARTITION BY EmployeeName ORDER BY empId) FROM Employee ) x WHERE rn > 1;</code>
Untuk menyemak baris yang dijadualkan untuk pemadaman sebelum melaksanakan pernyataan DELETE
, jalankan pertanyaan ini:
<code class="language-sql">SELECT * FROM ( SELECT *, rn = ROW_NUMBER() OVER (PARTITION BY EmployeeName ORDER BY empId) FROM Employee ) x WHERE rn > 1;</code>
Atas ialah kandungan terperinci Bagaimana untuk Memadam Rekod Pendua dalam Pelayan SQL Menggunakan TSQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!