SQL查询 -- -- 19、按各科成绩进行排序,并显示排名
时间: 2023-09-15 10:24:38 浏览: 419
sqljdbc4-4.0.zip
为了按各科成绩进行排序并显示排名,你可以使用以下SQL查询语句:
```sql
SELECT
student_name,
subject,
score,
FIND_IN_SET(score, (SELECT GROUP_CONCAT(DISTINCT score ORDER BY score DESC) FROM scores WHERE subject = '科目名')) AS rank
FROM
scores
WHERE
subject = '科目名'
ORDER BY
score DESC;
```
请将上述查询中的 `'科目名'` 替换为你想要排序的具体科目名称。这个查询将返回学生姓名、科目、分数和排名,按照分数从高到低排序。
注意:这个查询假设每个学生在每个科目上有唯一的分数。如果有多个学生在同一科目上有相同的分数,它们将会得到相同的排名。
阅读全文