SELECT COUNT(*) totalStudent,
c.*
FROM classroom c
INNER JOIN student s
ON c.classID = s.classID
GROUP BY c.classID
Как получить нуль в totalStudent
? если ученик пуст в классе.SQL COUNT get zero
SELECT COUNT(*) totalStudent,
c.*
FROM classroom c
INNER JOIN student s
ON c.classID = s.classID
GROUP BY c.classID
Как получить нуль в totalStudent
? если ученик пуст в классе.SQL COUNT get zero
Я интерпретирую ваш вопрос как: «В некоторых классах нет учеников. Как их включить?» Если это верно, то ключ 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 classroom c LEFT JOIN student s ON c.classid = s.classid GROUP BY c.classId; Выход: classID 1,2 | COUNT (s.classID) 4,6 ... , но классID 3 не показывал –
@BenjGonzales. , , Тогда я бы сделал вывод, что «3» не находится в таблице «класс». –
У меня проблема, когда я добавляю новые «классы», как только я ее сохранил. Число студентов внутри класса стало 1, но в нем еще нет ученика. Он должен быть нулевым –
Вы можете использовать 'Coalesce (COUNT (*), 0)' ... – icktoofay