Rumah  >  Soal Jawab  >  teks badan

Alih keluar rekod MySQL pendua dan simpan hanya satu

<p>Cara untuk mengalih keluar rekod MySQL pendua (tetapi simpan hanya satu)</p> <p>Hai semua, saya mempunyai masalah, saya mempunyai beberapa rekod dengan ID yang sama dan saya ingin mengalih keluar rekod pendua tetapi menyimpan hanya satu. Sebarang idea untuk menggunakan pernyataan mysql? </p> <p>Saya mempunyai kenyataan ini untuk melihat bilangan rekod dan pendua, tetapi ia tidak berfungsi untuk saya apabila saya menggunakan kenyataan padam: </p> <pre class="brush:php;toolbar:false;">SELECT e-mel, COUNT(e-mel) DARI kenalan KUMPULAN DENGAN e-mel MEMPUNYAI COUNT(e-mel) > <p>Saya menggunakan pernyataan ini, tetapi ia hanya mengalih keluar satu rekod pendua: </p> <pre class="brush:php;toolbar:false;">PADAM DARI wp_options WHERE option_id=5 had 1;</pre> <p>Adakah terdapat cara untuk proses kelompok? </p> <p>Kemas kini: Saya menggunakan pernyataan ini, tetapi ia mengalih keluar semua rekod pendua tanpa menyimpan satu: </p> <pre class="brush:php;toolbar:false;">PADAM DARI xhi_options WHERE option_id IN (SELECT option_id DARI (SELECT option_id DARIPADA xhi_options KUMPULAN MENGIKUT option_id MEMPUNYAI COUNT(option_id) > 1) AS T)</pra></p>
P粉916760429P粉916760429445 hari yang lalu499

membalas semua(2)saya akan balas

  • P粉776412597

    P粉7764125972023-08-26 00:32:58

    Dalam kenyataan padam anda, anda menggunakan pilihan limit 1, yang bermaksud anda hanya akan memadamkan satu rekod.

    Cuba betulkan kod anda seperti ini:

    DELETE FROM wp_options WHERE option_id=5 limit (dupl_rec_count - 1);

    balas
    0
  • P粉621033928

    P粉6210339282023-08-26 00:15:25

    Anda boleh menggunakan kaedah ini untuk mengekalkan baris dengan nilai id terendah

    DELETE e1 FROM contacts e1, contacts e2 WHERE e1.id > e2.id AND e1.email = e2.email;

    Ini adalah contoh pautan Pautan 1

    Atau anda boleh menukar >更改为< untuk mengekalkan id tertinggi

    DELETE e1 FROM contacts e1, contacts e2 WHERE e1.id < e2.id AND e1.email = e2.email;

    Ini adalah contoh pautan Pautan 2

    balas
    0
  • Batalbalas