Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mendapatkan Nilai Lajur Padanan dalam MySQL Menggunakan Agregasi dan HAVING?

Bagaimana untuk Mendapatkan Nilai Lajur Padanan dalam MySQL Menggunakan Agregasi dan HAVING?

Susan Sarandon
Susan Sarandonasal
2025-01-22 21:12:11773semak imbas

How to Retrieve Matching Column Values in MySQL Using Aggregation and HAVING?

Mengambil Nilai Lajur Padanan dengan Cekap dalam MySQL

Pertanyaan pangkalan data selalunya memerlukan mendapatkan semula baris berdasarkan padanan nilai lajur tertentu. Tugas ini menjadi lebih kompleks apabila berurusan dengan meja besar. Contoh ini menunjukkan kaedah yang cekap menggunakan fungsi pengagregatan MySQL dan klausa HAVING.

Mari kita pertimbangkan jadual contoh:

<code>ID | Score
-----
1 | 95
2 | 100
3 | 88
4 | 100
5 | 73</code>

Matlamatnya adalah untuk mencari skor yang sama untuk kedua-dua ID 2 dan ID 4. Hasil yang dijangkakan ialah 100.

Keupayaan pengagregatan MySQL menyediakan penyelesaian yang elegan:

<code class="language-sql">SELECT score
FROM t
GROUP BY score
HAVING SUM(id = 2) > 0 AND SUM(id = 4) > 0;</code>

Pertanyaan ini mengumpulkan data mengikut score. Klausa HAVING kemudian menggunakan fungsi agregat untuk menyemak kehadiran kedua-dua ID 2 dan ID 4 dalam setiap kumpulan. SUM(id = 2) > 0 mengira kejadian ID 2 dan SUM(id = 4) > 0 mengira kejadian ID 4. Hanya markah yang kedua-dua kiraan lebih besar daripada sifar dikembalikan. Ini memastikan bahawa hanya markah yang dikaitkan dengan kedua-dua ID disertakan dalam keputusan.

Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Nilai Lajur Padanan dalam MySQL Menggunakan Agregasi dan HAVING?. 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