Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Cari dan Dapatkan Semua Rekod Pendua dalam MySQL?

Bagaimana untuk Cari dan Dapatkan Semua Rekod Pendua dalam MySQL?

DDD
DDDasal
2024-12-20 07:22:13749semak imbas

How to Find and Retrieve All Duplicate Records in MySQL?

Cara Mengenalpasti Rekod Pendua dalam MySQL

Tugas mengenal pasti rekod pendua dalam pangkalan data MySQL biasanya ditangani menggunakan pertanyaan berikut:

SELECT address, count(id) as cnt 
FROM list
GROUP BY address 
HAVING cnt > 1

Walau bagaimanapun, pertanyaan ini hanya menyediakan kiraan rekod pendua, bukan data sebenar untuk setiap baris pendua. Untuk mendapatkan semula rekod pendua individu, pendekatan yang sedikit berbeza diperlukan.

Kuncinya ialah menulis semula pertanyaan asal sebagai subkueri:

SELECT firstname, 
   lastname, 
   list.address 
FROM list
   INNER JOIN (SELECT address
               FROM   list
               GROUP  BY address
               HAVING COUNT(id) > 1) dup
           ON list.address = dup.address;

Subkueri ini mengenal pasti alamat pendua dan pertanyaan luar menggunakan maklumat itu untuk menyertai jadual senarai dan mendapatkan semula semua data yang berkaitan untuk setiap rekod pendua.

Atas ialah kandungan terperinci Bagaimana untuk Cari dan Dapatkan Semua Rekod Pendua dalam MySQL?. 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