Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Memasukkan Keputusan Sifar Pelantikan dalam Pengagregatan SQL COUNT?
Mengendalikan Kiraan Pelantikan Sifar dalam Agregasi SQL
PengagregatanSQL standard COUNT
boleh terlepas individu dengan janji temu sifar. Penyelesaiannya melibatkan penggunaan cantuman luar untuk memasukkan entri kiraan sifar ini.
Mari kita gambarkan:
Pertanyaan ini mengira janji temu setiap orang tetapi mengetepikan janji temu tanpa janji:
<code class="language-sql">SELECT person_id, COUNT(person_id) AS appointment_count FROM appointment GROUP BY person_id;</code>
Untuk memasukkan individu dengan janji temu sifar, gunakan LEFT JOIN
dengan jadual person
sebagai jadual pemanduan:
<code class="language-sql">SELECT p.person_id, COUNT(a.person_id) AS appointment_count FROM person p LEFT JOIN appointment a ON p.person_id = a.person_id GROUP BY p.person_id;</code>
Ini LEFT JOIN
mengembalikan NULL
untuk appointment.person_id
di mana tiada janji temu wujud. COUNT
mengabaikan nilai NULL
, melaporkan dengan betul sifar janji temu untuk individu tersebut.
Pendekatan ini bergantung pada pemahaman cara gabungan luar berfungsi. A LEFT JOIN
memastikan semua baris dari jadual kiri (dalam kes ini, person
) disertakan, walaupun tiada baris yang sepadan dalam jadual kanan (appointment
).
Untuk menyelam lebih mendalam ke dalam sambung luar dan pengendalian nilai NULL
, rujuk sumber seperti:
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memasukkan Keputusan Sifar Pelantikan dalam Pengagregatan SQL COUNT?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!