SQL问题:3个表,需要JOIN,COUNT,GROUP BY

时间:2018-12-16 07:26:32

标签: mysql sql

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

  • 课程:课程编号,职务,部门,学分数量,CourseFees
  • 学生:SID,姓名,地址,电话,年龄
  • 注册:SID,课程编号,startDate,CompleteDate,成绩

我很难弄清楚如何写出正确的语句,该语句将列出课程号和课程名称,这些课程中有10名以上的学生成绩低于50分。我希望能够进行分组按CourseNo,并有一个基于SID的COUNT。

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

谢谢!

1 个答案:

答案 0 :(得分:2)

我希望这个帮助

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;