簡體   English   中英

SQL查詢以獲取班級的學生總數

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM