[英]Sql query to get total number of students in a class
我有这个SQL查询:
SELECT c.id as ID, c.class_name as CLASS, COUNT(e.student_id) AS STUDENT_COUNT
FROM classes as c
LEFT JOIN enrollments as e on e.class_id = c.id
where c.teacher_id = 8 AND e.approved = 1
group by c.class_name;
我想做的是获取所有班级以及这些班级已批准的学生人数。 sql查询应该返回类似
ID CLASS STUDENT_COUNT
1 Math 0
2 Biology 2
3 Algebra 1
4 Literature 5
问题是由于e.approved = 1我根本没有得到任何课程。 建议?
我的架构如下
CLASSES表
id, teacher_id, class_name, grade
报名表
id, class_id, student_id, approved
更改查询以使用左侧联接条件中的e.approved:
SELECT c.id as ID, c.class_name as CLASS, COUNT(e.student_id) AS STUDENT_COUNT
FROM classes as c
LEFT JOIN enrollments as e on e.class_id = c.id
AND e.approved = 1
where c.teacher_id = 8
group by c.class_name;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.