sql语句 统计每门课程的选课人数。
时间: 2024-06-19 21:01:54 浏览: 22
要统计每门课程的选课人数,你需要使用SQL的`GROUP BY`和`COUNT`聚合函数。假设你有一个名为`courses`的表,其中包含`course_id`(课程ID)和`student_id`(学生ID)字段,你可以使用以下SQL语句:
```sql
SELECT course_id, COUNT(student_id) AS total_students
FROM courses
GROUP BY course_id;
```
这个查询的工作原理是:
- `SELECT course_id, COUNT(student_id)`:选择你要统计的字段,即课程ID和计算每个课程ID下的学生数量。
- `FROM courses`:指定数据来源是`courses`表。
- `GROUP BY course_id`:按照`course_id`字段对数据进行分组,这样每个课程都会得到一个单独的行,其结果中`total_students`将是该课程的学生总数。
相关问题
Sql语句统计选课学生人数
假设我们有一个选课表(course_selection),包含以下字段:
- id:选课记录ID
- course_id:所选课程ID
- student_id:选课学生ID
要统计选课学生人数,可以使用以下SQL语句:
```
SELECT COUNT(DISTINCT student_id) AS student_count FROM course_selection;
```
以上语句会从course_selection表中统计不重复的学生ID,然后计算学生数量并返回结果。
统计每门课程的选课人数,select,from sc,group by
好的,针对您的问题,可以使用以下 SQL 语句来统计每门课程的选课人数:
```sql
SELECT c.course_name, COUNT(DISTINCT sc.student_id) AS student_count
FROM course c
LEFT JOIN student_course sc ON c.course_id = sc.course_id
GROUP BY c.course_id;
```
其中,需要根据您的数据表结构进行相应的调整。这条 SQL 语句的大致思路是:通过课程表和选课表的多表连接,统计每门课程的选课人数。使用`COUNT`函数来计算不同学生的数量,使用`LEFT JOIN`来包含没有选课记录的课程。结果会返回两个列,分别为`course_name`和`student_count`,分别表示课程名和对应的选课人数。