【发布时间】:2026-01-24 00:20:03
【问题描述】:
我有两个要查询的表,即 Enrollment 和 Course。在 course 表中,每门课程只有一个条目,但在 Enrollment 表中,对于注册任何课程的每个学生都有一个条目,因此一门课程可能有 30 个条目。我的任务是找到注册人数最多的课程,并打印出该课程的名称以及该课程的注册人数。到目前为止,这是我的查询
select c.CourseCode ,(SELECT count( * ) FROM Enrollment WHERE CourseCode = c.CourseCode) as test from Course c ;
这给了我结果:
CS227 - 29
CS228 - 34
CS309 - 31
CS311 - 25 等,这很好,但是现在,我如何只打印出注册人数最多的班级(在本例中为 CS228)。我试过使用 max(),但我什么也做不了。
这是表结构
创建表课程( CourseCode char(50), 课程名称 char(50), PreReq char (6));
创建表注册 ( CourseCode char(6) NOT NULL, SectionNo int NOT NULL, StudentID char(9) NOT NULL 引用学生, 等级 char(4) NOT NULL, 主键(CourseCode、StudentID)、 外键(CourseCode、SectionNo)引用产品);
【问题讨论】:
-
能否提供表结构?
-
我用表格结构编辑了问题