Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mencari Nilai Skor Pendua Merentasi ID Khusus dalam MySQL?

Bagaimana untuk Mencari Nilai Skor Pendua Merentasi ID Khusus dalam MySQL?

Barbara Streisand
Barbara Streisandasal
2025-01-22 20:56:10302semak imbas

How to Find Duplicate Score Values Across Specific IDs in MySQL?

Helah untuk mendapatkan semula nilai lajur pendua dalam MySQL

Dalam pangkalan data MySQL, anda mungkin perlu mendapatkan semula baris tersebut yang berkongsi nilai yang sama dalam lajur tertentu. Pertimbangkan jadual berikut, di mana lajur "Skor" mengandungi nilai yang dikaitkan dengan "ID" yang berbeza:

ID 分数
1 95
2 100
3 88
4 100
5 73

Andaikan anda ingin mendapatkan semula markah yang berlaku dalam dua baris dengan "ID" bersamaan dengan 2 dan 4.

Penyelesaian:

Untuk mencapai ini menggunakan MySQL, anda boleh menggunakan pertanyaan berikut:

<code class="language-sql">SELECT score
FROM t
GROUP BY score
HAVING COUNT(*) > 1 AND SUM(CASE WHEN id = 2 THEN 1 ELSE 0 END) > 0 AND SUM(CASE WHEN id = 4 THEN 1 ELSE 0 END) > 0;</code>

Pertanyaan ini melakukan langkah berikut:

  1. KUMPULAN OLEH: Ia mengumpulkan baris berdasarkan lajur "Skor".
  2. *Kira (COUNT()):** Ia mengira bilangan baris dalam setiap kumpulan, memastikan bahawa hanya skor pendua dikembalikan.
  3. Kiraan Bersyarat (JUMLAH(KES BILA ... TAMAT)): Ia mengira bilangan baris dengan ID 2 dan ID 4 masing-masing dalam setiap kumpulan.
  4. Klausa HAVING: Klausa HAVING memastikan bahawa hanya skor dengan kiraan skor lebih daripada 1 dikembalikan dan skor dengan ID 2 dan ID 4 kedua-duanya lebih besar daripada 0.

Dalam kes ini, keputusannya ialah:

<code>分数
100</code>

Pertanyaan ini secara berkesan mendapatkan semula nilai skor yang berlaku dalam kedua-dua baris dengan "ID" bersamaan dengan 2 dan 4. Pertanyaan yang dipertingkatkan menyatakan keadaan penapis dengan lebih jelas dan mengelakkan kemungkinan ralat logik.

Atas ialah kandungan terperinci Bagaimana untuk Mencari Nilai Skor Pendua Merentasi ID Khusus 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