【问题标题】:SQL problem: 3 tables, requiring JOIN, COUNT, GROUP BYSQL问题:3张表,需要JOIN、COUNT、GROUP BY
【发布时间】:2018-12-18 11:38:53
【问题描述】:

我有三 (3) 个表:Course、Student、Registration。每个表中的列是:

  • 课程:CourseNo、Title、Department、NumberOfCredits、CourseFees
  • 学生:SID、姓名、地址、电话、年龄
  • 注册:SID、CourseNo、startDate、CompleteDate、Grade

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

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

提前致谢!

【问题讨论】:

    标签: mysql sql


    【解决方案1】:

    希望对你有帮助

    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;
    

    【讨论】:

    • 这很有帮助,谢谢。我加入错了,结果一切都被抛出了。
    • 如果某个答案解决了您的问题,请选择作为接受的答案,让其他人知道该问题已解决。
    猜你喜欢
    • 2014-10-22
    • 2021-10-21
    • 2021-04-01
    • 2018-11-16
    • 2010-10-30
    • 1970-01-01
    • 2020-05-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多