SQL查询:至少2名学生选修的课程信息

本篇介绍如何使用SQL语句查询成绩表中至少有2名学生选修的课程信息,包括课程号、平均分数和选课人数。

SQL语句:

SELECT course_no, AVG(score), COUNT(DISTINCT stu_id)
FROM score
GROUP BY course_no
HAVING COUNT(DISTINCT stu_id) >= 2;

解释:

  • SELECT course_no, AVG(score), COUNT(DISTINCT stu_id): 选择课程号、平均分数和选课人数。
  • FROM score: 从成绩表中获取数据。
  • GROUP BY course_no: 按课程号进行分组。
  • HAVING COUNT(DISTINCT stu_id) >= 2: 筛选出至少有两名学生选修的课程。

注意:

  • DISTINCT stu_id 用于计算不同的学生数量。
  • HAVING 用于过滤分组后的结果。

示例:

假设成绩表 score 包含以下数据:

| stu_id | course_no | score | |---|---|---| | 1 | C1 | 85 | | 2 | C1 | 90 | | 3 | C2 | 75 | | 4 | C2 | 80 | | 5 | C3 | 95 |

执行上述SQL语句后,将得到以下结果:

| course_no | AVG(score) | COUNT(DISTINCT stu_id) | |---|---|---| | C1 | 87.5 | 2 | | C2 | 77.5 | 2 |

结论:

本SQL语句查询出课程号为'C1'和'C2'的课程信息,因为它们分别有2名学生选修。


原文地址: https://www.cveoy.top/t/topic/mlco 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录