在netezzaaginitySQL中给定一个变量,按递减顺序生成序列号



是否有任何SQL语法使用netezza SQL,给定列编号,尝试为编号递减到0的行生成行。

下面是我尝试做的一个例子

之前

ID 编号
A 4
B 5

您可以将_v_vector_idx表用于此目的

select 
id, idx 
from 
test join _v_vector_idx 
on idx <= number
order
by id asc, idx desc ;

以下是的实际操作示例

select * from test
ID   | NUMBER
-------+--------
A     |      4
B     |      5
(2 rows)

select id, idx from test join _v_vector_idx on
idx <= number order by id asc, idx desc ;
ID   | IDX
-------+-----
A     |   4
A     |   3
A     |   2
A     |   1
A     |   0
B     |   5
B     |   4
B     |   3
B     |   2
B     |   1
B     |   0
(11 rows)
insert into test values ('C', 3);
INSERT 0 1
select * from test;
ID   | NUMBER
-------+--------
A     |      4
B     |      5
C     |      3
(3 rows)
select id, idx from test join _v_vector_idx
on idx <= number order by id asc, idx desc ;
ID   | IDX
-------+-----
A     |   4
A     |   3
A     |   2
A     |   1
A     |   0
B     |   5
B     |   4
B     |   3
B     |   2
B     |   1
B     |   0
C     |   3
C     |   2
C     |   1
C     |   0
(15 rows)

最新更新