【发布时间】:2020-02-21 02:33:50
【问题描述】:
我有如下数据,当我通过排序 id 列应用 dense_rank 时,我根据整数的顺序获得排名,但我需要在运行查询时显示记录时进行排名:
来自查询的数据:
Rid id
8100 161
8101 2
8102 2
8103 2
8104 156
当我通过 id 对 order 应用 dense_rank 时,我得到了
Rid id rank
8100 161 3
8101 2 1
8102 2 1
8103 2 1
8104 156 2
但我的要求是进入以下方式:
Rid id rank
8100 161 1
8101 2 2
8102 2 2
8103 2 2
8104 156 3
也使用了row_number,但结果不如预期,不知道哪个选项会更好。
感谢任何帮助。
谢谢
编辑-------------------
使用的查询
Select rid, id,dense_rank() over (order by id) row_num
from table
【问题讨论】:
-
您使用的查询会有很大帮助。此外,表结构会有所帮助。干杯!
-
@VBokšić 感谢回复,添加查询。
-
你试过了吗:“(按Rid,id排序)”?我看那也没用。对不起...
-
是的,它只是增加行数,每行加 1
标签: sql oracle rank analytic-functions