Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mendapatkan Nilai Lajur Padanan dalam MySQL Menggunakan Agregasi dan 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!