[英]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.