You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用SQL的SELECT与COUNT查询Watson教学楼课程的学生人数等信息

查询Watson教学楼课程的选课学生明细

需求说明

从三张关联表中提取以下信息:

  • 课程代码(course_id)
  • 课程名称(title)
  • 对应课程在Watson教学楼开设的选课学生人数(去重统计)

完整SQL查询语句

SELECT 
    c.course_id,
    c.title,
    COUNT(DISTINCT t.ID) AS student_count
FROM 
    course c
JOIN 
    section s ON c.course_id = s.course_id
JOIN 
    takes t ON s.course_id = t.course_id 
           AND s.sec_id = t.sec_id 
           AND s.semester = t.semester 
           AND s.year = t.year
WHERE 
    s.building = 'Watson'
GROUP BY 
    c.course_id, c.title;

代码解释

  • 表关联:明确使用JOIN指定连接条件,避免NATURAL JOIN可能带来的隐式字段匹配错误,确保三张表通过正确的外键关联。
  • 过滤条件:通过WHERE s.building = 'Watson'筛选出在Watson教学楼开设的课程段。
  • 分组统计:按课程的course_id和title分组,用COUNT(DISTINCT t.ID)去重统计每个课程的选课学生数(避免同一学生选同一门课多个段被重复计数)。
  • 别名设置:给表和统计字段设置别名,提升SQL的可读性。

内容的提问来源于stack exchange,提问作者alive

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 02:01:11