Oracle 使用分析函数排名 rank()、dense_rank()、row_number() 使用详解

-- 分析函数  rank()、dense_rank()、row_number()

以下三个分析函数可以用于排名使用。
下图为三种排名方式的举例


-- 值相同,排名相同,序号跳跃

      对 T_ACCOUNT 表的 usenum 字段进行排序,相同的值排名相同,排名跳跃
      select rank() over(order by usenum desc ),usenum from T_ACCOUNT

结果如下:


-- 值相同,排名相同,序号连续

    对 T_ACCOUNT 表的 usenum 字段进行排序,相同的值排名相同,排名连续
    select dense_rank() over(order by usenum desc ),usenum from T_ACCOUNT

结果如下图:


-- 值相同,排名不同,序号连续
 对 T_ACCOUNT 表的 usenum 字段进行排序,返回连续的排名,无论值是否相等
 

select row_number() over(order by usenum desc ),usenum from T_ACCOUNT

结果如下图:

猜你喜欢

转载自blog.csdn.net/li_tiantian/article/details/81584140