SQL SEVER查询选修了“C02”号课程的学生最高分数。如果最高分有多个学生,按学号降序排列
时间: 2024-02-16 14:00:05 浏览: 162
SQL学生成绩查询
4星 · 用户满意度95%
好的,您可以尝试使用以下 SQL 查询语句:
```
SELECT MAX(score) as max_score, student_id
FROM student_course
WHERE course_id = 'C02'
GROUP BY student_id
HAVING MAX(score) = (SELECT MAX(score) FROM student_course WHERE course_id = 'C02')
ORDER BY student_id DESC;
```
解释一下这个查询语句:
- `student_course` 是指学生选课表的表名,您需要替换成您实际使用的表名。
- `MAX(score) as max_score, student_id` 表示计算选修了 C02 号课程的学生最高分数,并且选择学号,方便按学号排序。
- `WHERE course_id = 'C02'` 表示只选择选修了 C02 号课程的学生。
- `GROUP BY student_id` 表示按学生分组,以便计算每个学生的最高分数。
- `HAVING MAX(score) = (SELECT MAX(score) FROM student_course WHERE course_id = 'C02')` 表示只选择最高分数等于 C02 号课程的最高分数的学生。
- `ORDER BY student_id DESC` 表示按学号降序排列。
希望这个查询语句能够帮到您!
阅读全文