对于具有两个或更多注册学生的每个模块,显示其ModuleID,MName和模块的注册学生总数

时间:2017-09-08 11:20:25

标签: sql oracle

Link to Schema for Question我正在完成第一部分,即显示模块ID和具有2个或更多注册学生的模块的名称,但第二部分显示学生注册了该模块的数量我没有完成它

SQL我试过:

SELECT moduleid, 
       mname, 
       Count(moduleid) 
FROM   module 
GROUP  BY moduleid, 
          mname 
HAVING moduleid IN(SELECT moduleid 
                   FROM   registration 
                   GROUP  BY moduleid 
                   HAVING Count (moduleid) >= 2) 

1 个答案:

答案 0 :(得分:1)

假设有一些studentid标识了registration表中的学生:

SELECT moduleid, 
       mname, 
       Count(studentId) 
FROM   module m
JOIN   registration r
USING  ( moduleid)
GROUP  BY moduleid, 
          mname
HAVING Count(studentId)>=2