【发布时间】:2019-08-05 20:17:26
【问题描述】:
我有如下数据
Transaction_id, Type
10001 PO
10002 PO
10003 PO
10004 NON-PO
10005 NON-PO
10006 PO
10007 PO
10008 NON-PO
10008 PO
我必须根据下面的输出生成序列或显示序列号
Transaction_id, Type, Sequence
10001 PO 1
10002 PO 1
10003 PO 1
10004 NON-PO 2
10005 NON-PO 2
10006 PO 3
10007 PO 3
10008 NON-PO 4
10009 PO 5
create table test_data(Transaction_id NUMBER,"Type" Varchar2(100));
insert into test_data(Transaction_id,"Type") values(10001,'PO');
insert into test_data(Transaction_id,"Type") values(10002,'PO');
insert into test_data(Transaction_id,"Type") values(10003,'PO');
insert into test_data(Transaction_id,"Type") values(10004,'NON-PO');
insert into test_data(Transaction_id,"Type") values(10005,'NON-PO');
insert into test_data(Transaction_id,"Type") values(10006,'PO');
insert into test_data(Transaction_id,"Type") values(10007,'PO');
insert into test_data(Transaction_id,"Type") values(10008,'NON-PO');
insert into test_data(Transaction_id,"Type") values(10009,'PO');
commit;
数据插入到表中
序列创建:
create sequence seq_num start with 1 increment by 1;
数据选择:
select Transaction_id,"Type",seq_num.nextval
from test_data;
它会按照序列而不是预期的输出给出输出
请建议如何实现请求的输出
【问题讨论】: