Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Memasukkan Keputusan Sifar dalam COUNT Agregat Menggunakan SQL Joins?

Bagaimana untuk Memasukkan Keputusan Sifar dalam COUNT Agregat Menggunakan SQL Joins?

Mary-Kate Olsen
Lepaskan: 2025-01-08 18:43:42
asal
164 orang telah melayarinya

How to Include Zero Results in COUNT Aggregates Using SQL Joins?

Agregat KIRAAN SQL: Mengendalikan Keputusan Sifar dengan Gabungan

Pertanyaan pangkalan data selalunya memerlukan fungsi agregat seperti COUNT untuk memasukkan hasil sifar untuk kesempurnaan. Ini penting apabila menangani senario yang ketiadaan data adalah penting.

Mari kita gambarkan ini dengan contoh. Katakan kita mempunyai dua jadual: person dan appointment. Jadual appointment mengandungi kunci asing person_id yang merujuk kepada jadual person. Matlamat kami adalah untuk mengira bilangan janji temu bagi setiap orang, termasuk mereka yang tiada janji temu langsung.

KIRAAN mudah pada jadual appointment hanya akan menunjukkan hasil untuk orang yang mempunyai janji temu. Untuk memasukkan sifar, kita memerlukan LEFT JOIN.

Pertanyaan SQL:

<code class="language-sql">SELECT p.person_id, COUNT(a.person_id) AS number_of_appointments
FROM person p
LEFT JOIN appointment a ON p.person_id = a.person_id
GROUP BY p.person_id;</code>
Salin selepas log masuk

Penjelasan:

LEFT JOIN memastikan semua baris daripada jadual person (disebut sebagai p) disertakan dalam set hasil. Jika seseorang tidak mempunyai entri yang sepadan dalam jadual appointment (disebut sebagai a), a.person_id akan menjadi NULL. Fungsi COUNT(a.person_id) bijak mengendalikan perkara ini: ia hanya mengira nilai bukan NULL, dengan berkesan memberikan kiraan 0 untuk orang tanpa janji temu. Pengumpulan mengikut p.person_id memastikan kami mendapat kiraan berasingan untuk setiap orang.

Pendekatan ini menjamin pelaporan yang tepat, walaupun data jarang atau apabila ketiadaan data bermakna. Ia merupakan teknik yang berharga untuk analisis data yang komprehensif.

Atas ialah kandungan terperinci Bagaimana untuk Memasukkan Keputusan Sifar dalam COUNT Agregat Menggunakan SQL Joins?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan