Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Memaparkan Kiraan Sifar dalam MySQL COUNT() untuk Baris dengan Nilai Null?

Bagaimanakah Saya Boleh Memaparkan Kiraan Sifar dalam MySQL COUNT() untuk Baris dengan Nilai Null?

Susan Sarandon
Susan Sarandonasal
2024-12-05 03:02:12244semak imbas

How Can I Display Zero Counts in MySQL COUNT() for Rows with Null Values?

Memaparkan Kiraan Sifar dalam MySQL COUNT

Apabila mengira nilai menggunakan fungsi COUNT() dalam MySQL, ia selalunya mengecualikan baris dengan nilai nol. Ini boleh menyebabkan kesukaran apabila cuba memaparkan kiraan untuk semua baris, termasuk yang tidak mempunyai nilai yang sepadan dalam jadual lain.

Mengatasi Isu

Untuk menangani isu ini, anda boleh menggunakan gabungan luar dalam kombinasi dengan fungsi COUNT(). Pertanyaan berikut menggunakan LEFT JOIN untuk memasukkan semua baris daripada jadual Pekerja, tidak kira sama ada mereka mempunyai entri yang sepadan dalam jadual melSubscriptions:

SELECT c.name, count(m.mailid)
FROM Employee
   LEFT JOIN mailingSubscriptions as m ON c.Name = m.EmployeeName
GROUP BY c.name;

Penjelasan

  • LEFT JOIN menggabungkan baris daripada jadual Pekerja dengan baris yang sepadan daripada jadual melSubscriptions.
  • Ungkapan count(m.mailid) mengira bilangan nilai bukan nol dalam lajur mel.
  • Klausa GROUP BY c.name mengagregatkan keputusan mengikut Nama pekerja, memberikan kiraan langganan untuk setiap satu pekerja.

Keputusan

Pertanyaan ini akan mengembalikan jadual dengan dua lajur: Nama dan Kiraan Langganan. Lajur Kiraan Langganan akan memaparkan bilangan langganan untuk setiap pekerja atau 0 untuk pekerja tanpa sebarang langganan.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memaparkan Kiraan Sifar dalam MySQL COUNT() untuk Baris dengan Nilai Null?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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