Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Memilih Baris dengan ID Pendua dan Nilai Lajur Unik dalam SQL?

Bagaimana untuk Memilih Baris dengan ID Pendua dan Nilai Lajur Unik dalam SQL?

Mary-Kate Olsen
Lepaskan: 2024-12-27 05:20:15
asal
1037 orang telah melayarinya

How to Select Rows with Duplicate IDs and Unique Column Values in SQL?

Mengekstrak Baris dengan ID Pendua dan Nilai Lajur Terbeza

Pertanyaan:

Pertimbangkan jadual berikut:

+------+------+
| ARIDNR | LIEFNR |
+------+------+
| 1     | A     |
+------+------+
| 2     | A     |
+------+------+
| 3     | A     |
+------+------+
| 1     | B     |
+------+------+
| 2     | B     |
+------+------+
Salin selepas log masuk

Matlamatnya adalah untuk mendapatkan semula semua baris yang lajur ARIDNR mempunyai nilai pendua manakala lajur LIEFNR mempunyai nilai yang berbeza.

Penyelesaian:

Untuk melaksanakan pertanyaan ini dengan berkesan, ikuti ini langkah:

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

Penjelasan:

Pertanyaan ini menggunakan subkueri untuk mengenal pasti ARIDNR yang berlaku lebih daripada sekali. Dalam pertanyaan luar, ia mendapatkan semula semua baris dengan ARIDNR yang dikenal pasti.

  1. Subquery:

    • Ia mengumpulkan baris mengikut ARIDNR.
    • Klausa HAVING menapis untuk ARIDNR dengan lebih daripada satu yang berbeza Nilai LIEFNR.
  2. Pertanyaan Luar:

    • Pertanyaan utama menapis jadual untuk memasukkan hanya baris yang ARIDNRnya memenuhi subquery syarat.

Keputusan:

Output pertanyaan ialah:

+------+------+
| ARIDNR | LIEFNR |
+------+------+
| 1     | A     |
+------+------+
| 1     | B     |
+------+------+
| 2     | A     |
+------+------+
| 2     | B     |
+------+------+
Salin selepas log masuk

Hasil ini berjaya menangkap semua baris dengan ARIDNR pendua dan nilai LIEFNR yang berbeza.

Atas ialah kandungan terperinci Bagaimana untuk Memilih Baris dengan ID Pendua dan Nilai Lajur Unik dalam SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan