MySQL查询每个学生的学号、姓名,课程数,最高成绩,最低成绩,平均成绩,总成绩,不及格科目数
时间: 2024-10-17 13:14:55 浏览: 269
学生成绩管理系统 Mysql,学生成绩管理系统mysql课程设计,Java
5星 · 资源好评率100%
在MySQL中,为了获取每个学生的信息,包括学号、姓名、课程数、最高成绩、最低成绩、平均成绩、总成绩以及不及格科目数,你需要编写一个包含子查询和聚合函数的SQL查询。假设有一个名为`students`的学生表和一个名为`grades`的成绩表,它们通过`student_id`关联:
```sql
SELECT
s.student_id,
s.name AS 姓名,
COUNT(g.course_id) AS 课程数,
MAX(g.score) AS 最高成绩,
MIN(g.score) AS 最低成绩,
AVG(g.score) AS 平均成绩,
SUM(g.score) AS 总成绩,
(COUNT(*) FILTER (WHERE g.score < 60)) AS 不及格科目数
FROM
students s
JOIN
grades g ON s.student_id = g.student_id
GROUP BY
s.student_id;
```
这里假设60分以下为不及格。这个查询会按学号对学生信息进行分组,并计算相关的统计数据。
阅读全文