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

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

Mary-Kate Olsen
Lepaskan: 2025-01-08 18:17:43
asal
295 orang telah melayarinya

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

Mengendalikan Kiraan Sifar dalam Agregat SQL COUNT dengan Sambungan Luar

Fungsi agregat COUNT SQL biasanya mengira nilai bukan nol, mengetepikan entiti dengan hasil sifar. Untuk memasukkan entiti kiraan sifar ini, gunakan gabungan luar. Cantuman luar, tidak seperti cantuman dalam, mengekalkan semua baris daripada satu atau kedua-dua jadual, walaupun apabila tiada padanan dalam jadual lain.

Mari kita menggambarkan dengan dua jadual: person dan appointment. appointment pautan ke person melalui person_id. Untuk mengira janji temu setiap orang, termasuk janji temu sifar, gunakan LEFT JOIN:

<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

Ini LEFT JOIN memastikan semua baris daripada jadual person (disebut sebagai p) disertakan. Jika seseorang tidak mempunyai janji temu, a.person_id akan menjadi NULL dan COUNT(a.person_id) akan mengembalikan 0 untuk orang itu. Ini menyediakan kiraan lengkap untuk semua orang, dengan tepat menggambarkan kes pelantikan sifar. Klausa GROUP BY memastikan kiraan diagregatkan setiap orang.

Atas ialah kandungan terperinci Bagaimana untuk Memasukkan Keputusan Sifar dalam SQL COUNT Agregat Menggunakan Outer 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