用sql写出找出每门课程中分数最高的学生及其对应的分数。
时间: 2024-04-08 20:35:17 浏览: 181
sql查询出各科成绩最好的学生信息
你可以使用以下 SQL 查询来找出每门课程中分数最高的学生及其对应的分数:
```sql
SELECT course, student, score
FROM (
SELECT course, student, score,
ROW_NUMBER() OVER (PARTITION BY course ORDER BY score DESC) AS rank
FROM scores
) AS ranked_scores
WHERE rank = 1;
```
这个查询首先使用子查询将每门课程的学生成绩按降序排列,并为每个学生的分数分配一个排名。然后,外部查询选择每门课程中排名为1的学生及其对应的分数。请确保将 "scores" 替换为你实际的表名。
阅读全文