mysql 统计每门课程的选课人数、每门课程的最高分、最低分、平均分。
时间: 2023-06-26 10:10:21 浏览: 1152
可以使用以下 SQL 语句实现:
```
SELECT
course_name,
COUNT(DISTINCT student_id) AS num_students,
MAX(score) AS max_score,
MIN(score) AS min_score,
AVG(score) AS avg_score
FROM
course_score
INNER JOIN courses ON course_score.course_id = courses.course_id
GROUP BY
course_name;
```
其中,`course_score` 表是存储了每个学生在每门课程上的成绩信息的表,`courses` 表是存储了每门课程的基本信息的表。这个 SQL 语句会将两个表联结起来,并且按照课程名称分组,统计每门课程的选课人数、最高分、最低分和平均分。最终结果会以课程名称为行,各个统计指标为列的形式呈现。
相关问题
mysql 查询每门课程的最高分和最低分
可以使用以下 SQL 语句来查询每门课程的最高分和最低分:
```
SELECT course_name, MAX(score) AS max_score, MIN(score) AS min_score
FROM scores
GROUP BY course_name;
```
其中,`scores` 是包含了课程名和分数的表,包括以下列:`course_name` 和 `score`。`MAX()` 函数返回每门课程的最高分,`MIN()` 函数返回每门课程的最低分。`GROUP BY` 子句将结果按照课程名进行分组。
mysql每门课程的平均分
要计算每门课程的平均分,可以使用如下的SQL查询语句:
```
SELECT course_name, AVG(score) AS avg_score
FROM scores
JOIN courses ON scores.course_id = courses.course_id
GROUP BY course_name;
```
其中,假设成绩表为scores,包含字段course_id和score,课程表为courses,包含字段course_id和course_name。通过INNER JOIN将两张表连接起来,然后使用AVG函数计算每门课程的平均分,并按照课程名称进行分组。最终得到的结果中,每行包含课程名称和平均分。