统计每名学生的学号,姓名,选课数,最高分,平均分。数据库
时间: 2024-06-13 15:08:25 浏览: 255
查询数据库中所有有成绩的学生的学号和课程号
4星 · 用户满意度95%
为了统计每名学生的学号,姓名,选课数,最高分,平均分,我们需要使用多个表进行联合查询。假设我们有三个表:Student(学生信息表),Course(课程信息表)和Score(成绩信息表)。其中,Student表包含学生的学号(SNO)和姓名(SNAME)等信息;Course表包含课程的编号(CNO)和名称(CNAME)等信息;Score表包含学生的学号(SNO)、课程的编号(CNO)和成绩(GRADE)等信息。我们可以使用以下SQL语句来实现该功能:
```sql
SELECT Student.SNO, Student.SNAME, COUNT(DISTINCT Score.CNO) AS CourseNum, MAX(Score.GRADE) AS MaxGrade, AVG(Score.GRADE) AS AvgGrade
FROM Student
LEFT JOIN Score ON Student.SNO = Score.SNO
GROUP BY Student.SNO, Student.SNAME;
```
上述SQL语句中,我们使用了LEFT JOIN将Student表和Score表进行联合查询,并使用GROUP BY对结果进行分组。COUNT(DISTINCT Score.CNO)用于统计每个学生选修的课程数,MAX(Score.GRADE)用于求每个学生的最高分,AVG(Score.GRADE)用于求每个学生的平均分。
阅读全文