成绩排名前百分之五十 sql_SQL窗口函数
时间: 2023-10-06 21:10:23 浏览: 100
SQLServer中的窗口函数
可以使用 SQL 窗口函数来查询成绩排名前百分之五十的学生。假设有一个名为 students 的表,其中包含学生的成绩和姓名等信息,可以使用以下 SQL 查询语句:
```
SELECT name, score
FROM (
SELECT name, score, RANK() OVER (ORDER BY score DESC) as rank
FROM students
) t
WHERE rank <= (SELECT COUNT(*) * 0.5 FROM students)
ORDER BY score DESC;
```
这个查询语句首先使用窗口函数 `RANK()` 对学生的成绩进行排名,然后在外层查询中筛选出排名在前 50% 的学生,并按照成绩进行降序排序。
阅读全文