我有一个包含name
列
NAME
=========
GAURAV
GAURAV
AJAY
AJAY
===========
现在我想使用现有的序列,比如abc_seq,我想对记录进行分组,它会给我name
的输出组,每个组具有相同的序列号
我想得到的输出如下所示
name group
==============
GAURAV 1
GAURAV 1
AJAY 2
AJAY 2
==============
我用分析函数尝试了这个,但是如何在analytical function
答案 0 :(得分:3)
Dense_rank
将完成这项工作。
with t1 as
(
select 'GAURAV' name from dual union all
select 'GAURAV' name from dual union all
select 'AJAY' name from dual union all
select 'AJAY' name from dual
)
select name
, dense_rank() over(order by name desc) rn
from t1
输出:
Name Rn
-----------
GAURAV 1
GAURAV 1
AJAY 2
AJAY 2
这是DEMO
答案 1 :(得分:0)
选择名称,从table_name上方(按名称desc排序)上的dense_rank();
只需使用density_rank()分析函数,即可获得所需的输出。