row_number rank函数怎么用
时间: 2024-02-01 16:10:00 浏览: 82
SQLSERVER 2005的ROW_NUMBER、RANK、DENSE_RANK的用法
row_number和rank函数是用于在数据库中进行排序和分组的函数。
1. row_number函数:
row_number函数用于为查询结果中的每一行生成一个序号,序号是按照指定的排序方式生成的,且不会重复。使用row_number函数时,必须使用over子句选择对某一列进行排序才能生成序号。
示例:
```sql
SELECT ss.ID, ss.NAME, ss.SCORE, ROW_NUMBER() OVER (ORDER BY ss.SCORE DESC) AS ROW_NUMBER
FROM STUDENT_SCORE ss;
```
以上示例中,我们对学生分数表(STUDENT_SCORE)按照分数进行降序排序,并为每一行生成一个序号。
2. rank函数:
rank函数用于为查询结果中的每一行生成一个排名,排名是按照指定的排序方式生成的,相同的值会得到相同的排名,而且会跳过相同的排名。使用rank函数时,也必须使用over子句选择对某一列进行排序才能生成排名。
示例:
```sql
SELECT ss.ID, ss.NAME, ss.SCORE, RANK() OVER (ORDER BY ss.SCORE DESC) AS RANK
FROM STUDENT_SCORE ss;
```
以上示例中,我们对学生分数表(STUDENT_SCORE)按照分数进行降序排序,并为每一行生成一个排名。
阅读全文