数据库中统计每门课程的选课人数、最高分、平均分,并将统计结果保存在表 T_total 中。
时间: 2024-10-21 13:18:30 浏览: 63
在数据库中,要统计每门课程的选课人数、最高分和平均分并保存在一个新表`T_total`中,通常需要执行SQL查询,假设我们有两个表:
1. `courses` 表:包含课程信息,如课程ID(`course_id`) 和课程名称(`course_name`)
2. `enrollments` 表:记录学生选课情况,包含学生ID(`student_id`)、课程ID(`course_id`)和分数(`score`)
步骤如下:
1. 创建新表`T_total`,包括课程ID、课程名称、选课人数、最高分和平均分字段:
```sql
CREATE TABLE T_total (
course_id INT PRIMARY KEY,
course_name VARCHAR(50),
total_students INT,
max_score INT,
avg_score DECIMAL(8,2)
);
```
2. 使用SQL查询来获取所需数据,然后插入到`T_total`表中:
```sql
INSERT INTO T_total (course_id, course_name, total_students, max_score, avg_score)
SELECT
c.course_id,
c.course_name,
COUNT(e.student_id) AS total_students,
MAX(e.score) AS max_score,
AVG(e.score) AS avg_score
FROM
courses c
JOIN
enrollments e ON c.course_id = e.course_id
GROUP BY
c.course_id,
c.course_name;
```
这个查询会先通过JOIN操作连接两个表,然后对每个课程计算选课人数、最高分和平均分,最后通过GROUP BY按课程分类。
阅读全文