查询选修了课程的学生人数
要查询选修了课程的学生人数,可以使用SQL中的COUNT函数和DISTINCT关键字来统计不同学生选修课程的数量。
基本查询
假设我们有一个选课表enrollments,包含学生ID和课程ID:

SELECT COUNT(DISTINCT student_id) AS number_of_students FROM enrollments;
按课程分组查询
如果需要查询每门课程的学生人数:
SELECT course_id, COUNT(DISTINCT student_id) AS number_of_students FROM enrollments GROUP BY course_id;
按学生分组查询
如果需要查询每个学生选修的课程数量:
SELECT student_id, COUNT(DISTINCT course_id) AS number_of_courses FROM enrollments GROUP BY student_id;
多表连接查询
如果学生信息和课程信息在不同的表中,可以连接查询:
SELECT c.course_name, COUNT(DISTINCT e.student_id) AS number_of_students FROM courses c JOIN enrollments e ON c.course_id = e.course_id GROUP BY c.course_id, c.course_name;
注意事项
- 使用
DISTINCT可以避免重复计数同一个学生选修同一门课程多次的情况 - 如果只需要总学生数(不区分课程),使用第一种基本查询即可
- 根据实际数据库表结构调整表名和字段名
您可以根据具体的数据库结构和需求调整上述查询语句。


版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。