Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mencari ID Pendua dengan Nilai Berbeza dalam Lajur Lain?

Bagaimana untuk Mencari ID Pendua dengan Nilai Berbeza dalam Lajur Lain?

Barbara Streisand
Barbara Streisandasal
2024-12-31 02:43:13294semak imbas

How to Find Duplicate IDs with Different Values in Another Column?

Memilih ID Pendua dengan Nilai Lajur Berbeza

Anda mempunyai jadual yang mengandungi ID unik (ARIDNR) dan lajur lain (LIEFNR) dengan pelbagai nilai. Matlamatnya adalah untuk mengenal pasti semua baris yang ARIDNR muncul lebih daripada sekali tetapi dengan nilai LIEFNR yang berbeza.

Untuk mencapai ini, pertimbangkan pertanyaan berikut:

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

Pecahan:

  • Pernyataan SELECT luar mendapatkan semula semua lajur daripada Jadual.
  • Pernyataan dalam subquery memilih nilai ARIDNR yang unik.
  • Klausa GROUP BY mengumpulkan hasil mengikut ARIDNR.
  • Klausa HAVING menapis hasil untuk memasukkan nilai ARIDNR dengan lebih daripada satu LIEFNR yang berbeza.
  • Klausa WHERE luar menyemak sama ada ARIDNR setiap baris sepadan dengan mana-mana nilai ARIDNR yang dikenal pasti dalam subkueri.

Akibatnya, pertanyaan ini harus mengeluarkan jadual berikut:

+------+------+
| ARIDNR | LIEFNR |
+------+------+
| 1     | A     |
| 1     | B     |
| 2     | A     |
| 2     | B     |
+------+------+

Jadual ini mengandungi semua baris yang ARIDNR diduakan dan dikaitkan dengan nilai LIEFNR yang berbeza.

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