まず、GROUP BY
がありません 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
次に、total_student =0の行を単純に表示したくない場合は、MySQLHAVING句を使用できます。
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
または、LEFT JOIN
を変更することもできます INNER JOIN
へ この場合、同じことを達成します。
最後に、代わりに0をnullに置き換えたいが行が残っている場合は、selectステートメントを更新して合計を次のようにすることができます。
SELECT IF(COUNT(student_name) = 0, NULL, COUNT(student_name)) AS total_student, school_name