我有如下数据,当我通过对id列进行排序来应用density_rank时,我正在根据整数的顺序获得排名,但由于运行查询时显示的记录,我需要进行排名:
来自查询的数据:
Rid id
8100 161
8101 2
8102 2
8103 2
8104 156
当我通过id对命令应用density_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
从sum()
分析函数获得值之后,可以使用包含(order by rid)
的lag()
聚合