Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Memadam Baris Pendua dari Jadual SQL Tanpa Kunci Utama?
Memadamkan Rekod Pendua daripada Jadual SQL tanpa Kunci Utama
Dalam jadual SQL tanpa kunci utama, mengenal pasti dan mengalih keluar rekod pendua boleh menjadi tugas yang kompleks. Masalah timbul apabila berbilang baris berkongsi nilai yang sama dalam lajur tertentu, mewujudkan lebihan dalam data. Untuk menyelesaikan masalah ini, kami akan meneroka pertanyaan yang menghapuskan baris pendua dengan berkesan berdasarkan gabungan lajur.
Pertimbangkan jadual berikut bernama "pekerja" dengan data yang diberikan:
create table employee ( EmpId number, EmpName varchar2(10), EmpSSN varchar2(11) ); insert into employee values(1, 'Jack', '555-55-5555'); insert into employee values (2, 'Joe', '555-56-5555'); insert into employee values (3, 'Fred', '555-57-5555'); insert into employee values (4, 'Mike', '555-58-5555'); insert into employee values (5, 'Cathy', '555-59-5555'); insert into employee values (6, 'Lisa', '555-70-5555'); insert into employee values (1, 'Jack', '555-55-5555'); insert into employee values (4, 'Mike', '555-58-5555'); insert into employee values (5, 'Cathy', '555-59-5555'); insert into employee values (6 ,'Lisa', '555-70-5555'); insert into employee values (5, 'Cathy', '555-59-5555'); insert into employee values (6, 'Lisa', '555-70-5555');
Kepada alih keluar baris pendua berdasarkan "EmpId" dan "EmpSSN," kita boleh memanfaatkan perkara berikut pertanyaan:
DELETE SUB FROM (SELECT ROW_NUMBER() OVER (PARTITION BY EmpId, EmpName, EmpSSN ORDER BY EmpId) cnt FROM Employee) SUB WHERE SUB.cnt > 1
Penjelasan:
Melaksanakan pertanyaan ini akan mengalih keluar rekod pendua secara berkesan daripada jadual "pekerja" sementara mengekalkan susunan asal data. Selepas pelaksanaan, jadual akan mengandungi hanya baris unik berdasarkan medan "EmpId" dan "EmpSSN".
Atas ialah kandungan terperinci Bagaimana untuk Memadam Baris Pendua dari Jadual SQL Tanpa Kunci Utama?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!