Rumah >pangkalan data >tutorial mysql >Bagaimana Mencari Baris Pendua dengan Nilai Berbeza dalam Lajur Tertentu?

Bagaimana Mencari Baris Pendua dengan Nilai Berbeza dalam Lajur Tertentu?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-28 03:20:10600semak imbas

How to Find Duplicate Rows with Different Values in a Specific Column?

Memilih Baris Pendua dengan Nilai Lajur Divergen

Pertanyaan pangkalan data ini bertujuan untuk mengenal pasti baris pendua berdasarkan lajur tertentu sambil mengabaikan nilai lain lajur. Pertimbangkan senario berikut:

------ ------

ARIDNR LIEFNR
1 A
2 A
3 A
1 B
2 B

Objektifnya adalah untuk memilih nilai ARIDNR yang muncul lebih daripada sekali dengan nilai LIEFNR yang berbeza.

Penyelesaian

Untuk mencapai matlamat ini, kita boleh menggunakan perkara berikut pertanyaan:

SELECT *
FROM Table
WHERE ARIDNR IN (
    SELECT ARIDNR
    FROM Table
    GROUP BY ARIDNR
    HAVING COUNT(DISTINCT LIEFNR) > 1
)

Pertanyaan ini menggunakan subkueri bersarang untuk mengenal pasti nilai ARIDNR yang memenuhi kriteria yang ditentukan. Subkueri mengumpulkan baris mengikut ARIDNR dan menggunakan fungsi COUNT(DISTINCT LIEFNR), yang mengira bilangan nilai LIEFNR unik yang dikaitkan dengan setiap ARIDNR. Jika kiraan melebihi 1, ARIDNR ditambahkan pada jadual sementara.

Pertanyaan utama kemudian memilih semua baris daripada jadual asal yang mana nilai ARIDNR sepadan dengan yang dikenal pasti oleh subkueri. Ini menghasilkan output yang diingini:

------ ------

ARIDNR LIEFNR
1 A
1 B
2 A
2 B

Kaedah ini berkesan menangkap baris pendua dengan nilai LIEFNR yang berbeza-beza, memenuhi keperluan awal.

Atas ialah kandungan terperinci Bagaimana Mencari Baris Pendua dengan Nilai Berbeza dalam Lajur Tertentu?. 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