sql server 中用于排名的三个函数 row_number() ,RANK() 和 DENSE_RANK()
阅读原文时间:2024年06月14日阅读:1

row_number()  ,RANK() 和  DENSE_RANK()  三个配合over()  使用排名 只是只是计算方式不一样,语法基本一样

语法: ROW_NUMBER() OVER (ORDER BY 排名的字段) 例如:

select OrderAmount ,
row_number() over(order by OrderAmount desc) as row_number ,
RANK() over(order by OrderAmount desc) as RANK ,
DENSE_RANK() OVER (ORDER BY OrderAmount desc ) AS DENSE_RANK
from rrs_DeliveryOrder

下面是结果对比一下就很清楚

row_number()  按一定的排序方式 一直往下排  值相同的排在前面的排名靠前

RANK  在一定的排序方式 一直往下排,分数相同的该排名的最高排名算。

DENSE_RANK() 在一定的排序方式 分数相同的排名相同 。后面会一直排下去

手机扫一扫

移动阅读更方便

阿里云服务器
腾讯云服务器
七牛云服务器

你可能感兴趣的文章