Rumah > Soal Jawab > teks badan
Keperluan: Padamkan item dengan primaryid dan nama ubat yang sama dalam DRUG, dan simpan baris terkecil drug_seq
Soalan: Mysql menggunakan kaedah ini untuk mengalih keluar pendua, mengapa ia hanya boleh mengalih keluar ratusan atau berdozen data pendua setiap kali, seperti memerah Ubat gigi? Begitu juga, setiap kali saya laksanakan, saya akan mengeluarkan lebih sedikit duplikasi yang jelas terdapat ratusan ribu data pendua saya telah mencuba beberapa kaedah, tetapi deduplikasi masih tidak lengkap PADAM DARI `drug2022` WHERE drug_seq IN (
SELECT drug_seq FROM (
SELECT drug_seq FROM `drug2022` WHERE (primaryid,drugname) IN (SELECT primaryid,drugname FROM `drug2022`drugname) ; 1)
DAN
drug_seq TIDAK MASUK (PILIH MIN(drug_seq) DARI KUMPULAN `drug2022` OLEH primaryid,nama dadah MEMPUNYAI COUNT(*) > 1))AS a1);
PADAMKANDARI `drug2022`WHERE drug_seq NOT IN ( ) (PILIH t1.min_drug_seq ) DARI (PILIH MIN(drug_seq) SEBAGAI min_drug_seq20DARI2`nama dadah t; 1) t1))
DAN (nama dadah , primaryid) DALAM (PILIH t2.nama dadah, t2.primaryid ) DARI (PILIH nama ubat, primaryid DARI `drug2022` KUMPULAN MENGIKUT nama dadah, primaryid MEMPUNYAI COUNT(1) > 1) t2);#Kaedah Ketiga: PADAM t1DARI `drug2022` t1, `drug2022` t2WHERE tid t1.primary
nama = t2. nama dadah
DAN t1.drug_seq <t2.drug_seq;
#Kaedah 4
DELETE
DARI `drug2022`
(*q_dROM_PILIH dadah KUMPULAN 2022` OLEH primaryid, nama ubat) t2);