Pertama, Anda melewatkan GROUP BY
klausa di bagian bawah kueri Anda untuk dikelompokkan berdasarkan school_name
:
SELECT count(student_name) AS total_student, school_name
FROM student
LEFT JOIN school_info ON school_info.school_id = student.school_id
WHERE student.status = '0'
GROUP BY school_name
Kemudian, jika Anda ingin tidak menampilkan baris di mana total_student =0 maka Anda dapat menggunakan klausa MySQL HAVING:
SELECT count(student_name) AS total_student, school_name
FROM student
LEFT JOIN school_info ON school_info.school_id = student.school_id
WHERE student.status = '0'
GROUP BY school_name
HAVING count(student_name) > 0
Atau, Anda dapat mengubah LEFT JOIN
ke INNER JOIN
untuk mencapai hal yang sama dalam kasus ini.
Terakhir, jika Anda ingin mengganti 0 dengan nol tetapi masih memiliki baris, Anda dapat memperbarui pernyataan pilih untuk mendapatkan total menjadi:
SELECT IF(COUNT(student_name) = 0, NULL, COUNT(student_name)) AS total_student, school_name