有没有办法在不按列排序的情况下“动态”创建row_number?我有这个问题:
select regexp_substr(',A-B,B-C,C-D', '[^,]+', 1, level) as legs
from dual
connect by regexp_substr(',A-B,B-C,C-D', '[^,]+', 1, level) is not null
我需要保持旋转的顺序,但我还需要一个等级来确保旋转是好的。我试着看看附近的排名,dense_rank,row_number,......但他们都需要一个订单,我不能使用。
会有类似的东西
Rank | Legs
1 | A-B
2 | B-C
3 | C-D
答案 0 :(得分:2)
您可以使用level
,但需要使用别名:
select level as rnk,
regexp_substr(',A-B,B-C,C-D', '[^,]+', 1, level) as legs
from dual
connect by regexp_substr(',A-B,B-C,C-D', '[^,]+', 1, level) is not null;
RNK LEGS
---------- ------------
1 A-B
2 B-C
3 C-D