查询每位学生的学号、姓名和选课成绩的平均成绩,成绩为null不计算在平均成绩之内,按从高到低降序排列
时间: 2024-11-20 13:36:11 浏览: 5
学生成绩管理程序_查询成绩_成绩查询_成绩平均分_成绩分级_添加成绩_
5星 · 资源好评率100%
你可以通过以下SQL查询来获取每位学生的学号、姓名以及他们的选课成绩的平均成绩,并排除成绩为NULL的情况,最后按照平均成绩从高到低排序:
```sql
SELECT student_id, name, AVG(score) AS avg_score
FROM students
WHERE score IS NOT NULL
GROUP BY student_id, name
ORDER BY avg_score DESC;
```
这个查询做了以下几件事:
1. `SELECT student_id, name, AVG(score) AS avg_score`: 选择需要的字段,包括每个学生的学号(student_id),姓名(name)和成绩的平均分(avg_score)。
2. `FROM students`: 从"students"表中选取数据。
3. `WHERE score IS NOT NULL`: 过滤掉成绩为NULL的行,只考虑有成绩的学生。
4. `GROUP BY student_id, name`: 按照学生ID和姓名分组,以便计算每个人的平均成绩。
5. `ORDER BY avg_score DESC`: 结果按照平均成绩(avg_score)降序排列,最高的平均成绩排在最前面。
阅读全文