具有 运行 序列号的 Return 列 Oracle

Return column with running sequence number Oracle

我的简单查询 returns 数据是这样的:

SELECT column1, column2 FROM table1

COLUMN1   COLUMN2
-------   -------
CA         A
CA         B
CB         C
CB         D

我想 return column3 具有这些值(对于相同的 COLUMN1 值,我想 return 相同的序列号):

COLUMN3
-------
1
1
2
2

您可以使用 analytic 函数 DENSE_RANK

SELECT column1, 
       column2,
       DENSE_RANK() OVER(ORDER BY column1) as "column3"
 FROM table1

请参阅以下示例 - oracle-base.com/articles/misc/rank-dense-rank-first-last-analytic-functions.php#dense_rank

试试这个查询,

Select column1, column2, 
       dense_rank() over (order by column1) as column3 
from table1;