Rumah >pangkalan data >tutorial mysql >Bagaimanakah SQL GROUP BY Clause berfungsi dengan Berbilang Lajur?
SQL GROUP BY
dengan Berbilang Lajur: Penjelasan Terperinci
Klausa SQL GROUP BY
dengan cekap mengumpulkan baris yang berkongsi nilai sepunya, membolehkan pengiraan fungsi agregat pada kumpulan ini. Walaupun pengumpulan lajur tunggal adalah mudah, pengumpulan berbilang lajur menambah lapisan kerumitan dan kuasa.
Pemahaman GROUP BY x, y
Sintaks GROUP BY x, y
mengumpulkan baris di mana kedua-dua lajur x
dan y
mempunyai nilai yang sama. Fungsi agregat dalam pertanyaan anda kemudiannya dikira untuk setiap gabungan nilai x
dan y
yang berbeza.
Contoh Ilustrasi
Mari kita periksa jadual Subject_Selection
, menjejaki kehadiran pelajar merentas mata pelajaran dan semester:
Subject | Semester | Attendee |
---|---|---|
ITB001 | 1 | John |
ITB001 | 1 | Bob |
ITB001 | 1 | Mickey |
ITB001 | 2 | Jenny |
ITB001 | 2 | James |
MKB114 | 1 | John |
MKB114 | 1 | Erica |
Pengumpulan mengikut Subjek Sahaja
Pertanyaan:
<code class="language-sql">SELECT Subject, COUNT(*) FROM Subject_Selection GROUP BY Subject;</code>
Menghasilkan:
Subject | Count |
---|---|
ITB001 | 5 |
MKB114 | 2 |
Ini meringkaskan jumlah kehadiran setiap mata pelajaran.
Pengumpulan mengikut Subjek dan Semester
Sekarang, pertimbangkan pertanyaan ini:
<code class="language-sql">SELECT Subject, Semester, COUNT(*) FROM Subject_Selection GROUP BY Subject, Semester;</code>
Ini menghasilkan:
Subject | Semester | Count |
---|---|---|
ITB001 | 1 | 3 |
ITB001 | 2 | 2 |
MKB114 | 1 | 2 |
Ini memberikan paparan yang lebih terperinci, menunjukkan kiraan kehadiran bagi setiap subjek dan gabungan semester. Perhatikan bagaimana keputusan kini dikumpulkan mengikut gandingan unik Subjek dan Semester. Ini menunjukkan kuasa menggunakan berbilang lajur dalam klausa GROUP BY
untuk mencapai pengagregatan data yang lebih halus.
Atas ialah kandungan terperinci Bagaimanakah SQL GROUP BY Clause berfungsi dengan Berbilang Lajur?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!