SELECT COUNT(*) totalStudent,
c.*
FROM classroom c
INNER JOIN student s
ON c.classID = s.classID
GROUP BY c.classID
如何在totalStudent
得到零?如果學生在教室內空蕩蕩的。SQL COUNT得到零
SELECT COUNT(*) totalStudent,
c.*
FROM classroom c
INNER JOIN student s
ON c.classID = s.classID
GROUP BY c.classID
如何在totalStudent
得到零?如果學生在教室內空蕩蕩的。SQL COUNT得到零
我把你的問題解釋爲:「有些班級沒有學生,我怎麼包括這些?」如果這是正確的,那麼關鍵是left join
:
SELECT c.classId, COUNT(s.classId)
FROM classroom c LEFT JOIN
student s
ON c.classid = s.classid
GROUP BY c.classId;
是的,遺憾的語法。 SELECT c.classId,COUNT(s.classId) FROM教室c LEFT JOIN 學生s ON c.classid = s.classid GROUP BY c.classId;輸入: classID 1,2 | COUNT(s.classID)4,6 ... 但classID 3沒有顯示 –
@BenjGonzales。 。 。然後我會得出結論:「3」不在「課堂」表中。 –
我有一個問題,每當我保存它時添加新的'類'。班內的學生人數變成1,但裏面沒有學生。它應該爲零 –
你可以使用'COALESCE(COUNT(*),0)'... – icktoofay