簡體   English   中英

SQL Query查找在主題中注冊的學生總數

[英]SQL Query to find total number of students enrolled in a subject

類表具有帶有ff值的class_idclass_name列:

class_id | class_Name
1        | Algebra
2        | History
3        | PE

學生表有student_idstudent_name列:

student_id | student_name
1          | Kylo Ren
2          | Rey

第三個表是兩個表的聯結表,其中包含以下列class_idstudent_id

class_id | student_id
1        | 1
1        | 2
2        | 1
3        | 2

如何找到每個科目注冊的學生人數?

輸出應該是這樣的

Class Name           | Number of Students
Algebra              | 2
History              | 1
PE                   | 1

然后編輯查詢,以便它只顯示班級名稱和大於2的學生人數

謝謝!

按學生匯總聯結表,然后斷言匹配的學生擁有所有課程:

WITH cte AS (
    SELECT student_id
    FROM junction
    GROUP BY student_id
    HAVING COUNT(class_id) = (SELECT COUNT(*) FROM class)
)

SELECF COUNT(*) AS num_all_classes FROM cte;

也許我弄錯了......

SELECT 
    c.class_name "Class Name", 
    count(distinct j.student_id) "Number of Students"
FROM
    class c
    LEFT JOIN junction j ON j.class_id = c.class_id
GROUP BY
    1

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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