是否有任何使用 netezza SQL 的 SQL 语法,给定列号,尝试按降序生成行数到 0。
下面是我正在尝试做的一个例子
前
ID | 数字 |
---|---|
一种 | 4 |
乙 | 5 |
后
ID | 数字 |
---|---|
一种 | 4 |
一种 | 3 |
一种 | 2 |
一种 | 1 |
乙 | 5 |
乙 | 4 |
乙 | 3 |
乙 | 2 |
乙 | 1 |
请也点击查看截图,例如谢谢
您可以_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)