我有三(3)张表:“课程”,“学生”,“注册”。每个表中的列是:


课程:课程编号,职称,部门,学分数量,课程费用
学生:SID,姓名,地址,电话,年龄
注册:SID,课程编号,开始日期,完成日期,成绩


我很难弄清楚如何编写正确的语句,该语句将列出课程号和课程名称,其中有10多名学生的成绩低于50。我希望能够GROUP BY CourseNo和有一个基于SID的COUNT。

任何帮助将不胜感激,特别是如果可以给出任何解释。

提前致谢!

最佳答案

希望有帮助

select c.CourseNo, c.Title, count(SID) AS sCount
  from Registration r
  join Course c on (c.CourseNo = r.CourseNo)
  where r.Grade < 50
  group by r.CourseNo
  HAVING sCount > 10;

关于mysql - SQL问题:3个表,需要JOIN,COUNT,GROUP BY,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53800245/

10-12 14:37