我在计算每个班的学生人数。这里的想法是在一所学校里有不同的科目,我想看看每个摄影课的数字。
enrolments用于将学生注册到一个班级中,因此计算每个班级中已确认注册的学生数将返回该班级中的学生数。
classnumber是类的唯一id,studentnumber对每个学生都是唯一的。
但是,我使用的count函数不会返回没有学生的类。有没有一个简单,或更好的方法来实现这一点?
下面是我要做的:
SELECT enrolment.classnumber, COUNT(studentnumber) AS "Students" FROM enrolment
JOIN class ON enrolment.classnumber=class.classnumber
WHERE enrolmentstatus='Confirmed'
AND classtype='Photography'
GROUP BY enrolment.classnumber
但它只返回以下内容:
CLASS NUMBER Students
------------ --------
6 5
而不是包括其他3个空的摄影课。有什么想法吗?
1条答案
按热度按时间30byixjq1#
你想要一个
left join
:这个想法是从
class
因为它定义了结果集中需要的所有行。然后使用LEFT JOIN
引入匹配行。第二个表上的条件(如状态)需要在ON
条款。