简体   繁体   English

具有运行序号Oracle的返回列

[英]Return column with running sequence number Oracle

My simple query returns data like this: 我的简单查询返回的数据如下:

SELECT column1, column2 FROM table1

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

I want to return column3 with these values (for same COLUMN1 value, I want to return same sequence number): 我想用这些值返回column3(对于相同的COLUMN1值,我想返回相同的序列号):

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

You can use analytic function DENSE_RANK . 您可以使用analytic功能DENSE_RANK

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

See the following for some examples - oracle-base.com/articles/misc/rank-dense-rank-first-last-analytic-functions.php#dense_rank 请参见以下示例: oracle-base.com/articles/misc/rank-dense-rank-first-last-analytic-functions.php#dense_rank

Try this query, 试试这个查询,

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM