具有 运行 序列号的 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;
我的简单查询 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;