Rumah >pangkalan data >tutorial mysql >Bagaimana Mencari Baris Pendua dalam Jadual SQL Berdasarkan Berbilang Medan (cth., E-mel dan Nama)?

Bagaimana Mencari Baris Pendua dalam Jadual SQL Berdasarkan Berbilang Medan (cth., E-mel dan Nama)?

Barbara Streisand
Barbara Streisandasal
2025-01-23 02:10:08657semak imbas

How to Find Duplicate Rows in a SQL Table Based on Multiple Fields (e.g., Email and Name)?

Mengenal pasti Rekod Pendua dalam SQL Berdasarkan Pelbagai Medan

Mencari pendua dalam jadual SQL adalah mudah dengan satu medan. Walau bagaimanapun, mengenal pasti pendua merentas berbilang medan, seperti e-mel dan nama, memerlukan pendekatan yang lebih canggih. Contoh ini menunjukkan cara untuk mencari entri pendua berdasarkan kedua-dua e-mel dan nama.

Penyelesaian menggunakan klausa GROUP BY yang diubah suai untuk memasukkan berbilang medan:

<code class="language-sql">SELECT
    name, email, COUNT(*) AS DuplicateCount
FROM
    users
GROUP BY
    name, email
HAVING 
    DuplicateCount > 1;</code>

Pengumpulan mengikut name dan email memastikan rekod dengan gabungan e-mel dan nama yang sama dikumpulkan bersama. Klausa HAVING kemudian menapis kumpulan ini, mengembalikan hanya kumpulan yang mempunyai COUNT(*) (dinamakan semula sebagai DuplicateCount untuk kejelasan) lebih daripada 1, sekali gus menentukan entri pendua. Ini dengan berkesan mengenal pasti baris dengan nama pendua dan pasangan e-mel.

Atas ialah kandungan terperinci Bagaimana Mencari Baris Pendua dalam Jadual SQL Berdasarkan Berbilang Medan (cth., E-mel dan Nama)?. 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