0

是否有任何使用 netezza SQL 的 SQL 语法,给定列号,尝试按降序生成行数到 0。

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

ID 数字
一种 4
5

ID 数字
一种 4
一种 3
一种 2
一种 1
5
4
3
2
1

请也点击查看截图,例如谢谢

4

1 回答 1

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)
于 2021-05-18T11:22:31.067 回答