mysql查询两门以上不及格课程的同学的学号及其平均成绩
封面图
•
2026-01-11
•
MySQL
268
0
0
0
要查询**两门以上不及格课程的同学的学号及其平均成绩**,首先需要明确数据库结构。假设你有如下表结构: ### 表结构示例: - **student**(学生表): - `sno`:学号 - `sname`:姓名 - **course**(课程表): - `cno`:课程编号 - `cname`:课程名称 - **score**(成绩表): - `sno`:学号 - `cno`:课程编号 - `grade`:成绩 --- ### SQL 查询语句: ```sql SELECT s.sno, AVG(sc.grade) AS avg_grade FROM score sc JOIN student s ON sc.sno = s.sno WHERE sc.grade < 60 -- 不及格的成绩 GROUP BY s.sno HAVING COUNT(sc.cno) >= 2; -- 至少两门不及格课程 ``` --- ### 说明: - `WHERE sc.grade < 60`:筛选出不及格的成绩。 - `GROUP BY s.sno`:按学号分组。 - `HAVING COUNT(sc.cno) >= 2`:只保留有至少两门不及格课程的学生。 - `AVG(sc.grade)`:计算这些学生的平均成绩。 --- ### 示例输出(假设数据): | sno | avg_grade | |-------|-----------| | 001 | 55.5 | | 002 | 58.0 | --- 如果你的表结构不同或有其他字段,请告诉我,我可以帮你调整 SQL 语句。
上一篇:
mysql查询不同课程成绩相同的学生的学生编号、课程编号、学生成绩
下一篇:
mysql查询选修 张三 老师所授课程的学生中成绩最高的学生姓名及其成绩
标题录入,一次不能超过6条
留言
评论