例如,我试图使用dense_rank获取元素顺序:
我有带有数据的表seq_test:
create table seq_test (sequence number, role_name varchar2(20));
insert into seq_test values (10, 'B');
insert into seq_test values (20, 'A');
select DENSE_RANK() over (order by role_name) as seq
, role_name
, sequence
from seq_test
order by sequence
在我运行上面的代码之后,我得到:
SEQ ROLE_NAME SEQUENCE
2 B 10
1 A 20
我要做到:
SEQ ROLE_NAME SEQUENCE
1 B 10
2 A 20
因此,DENSE_RANK()函数使用自己在函数定义中定义的顺序,我需要逐列对SEQ列进行排序。
更新:
我想要:
seq role_name sequence
1 B 10
2 C 15
2 C 15
3 A 25
3 A 30
发布于 2021-12-16 23:00:58
请尝试以下查询:
select DENSE_RANK() over (order by SEQUENCE) as seq
, role_name
, sequence
from seq_test;
结果:
seq role_name sequence
1 B 10
2 A 20
https://stackoverflow.com/questions/70386454
复制相似问题