0

我有一个名为 start 的整数类型列。我想通过该列的值创建一个数组。这似乎很简单,我使用了 array_agg(),但它给出了空数组作为输出。以下是我的列数据

start
 1
 2
 11
 5
 .
 .
 . (and so on)

以下是我用来制作数组的查询:

select array_agg(start) as start_array from table1;

为什么它给出空数组?

4

1 回答 1

1

它不是

除非没有行,否则无法返回空。也许 JOIN 或 WHERE 子句是错误的,并且您有 0 行?

如果您的查询如此简单,也可以作为微优化,

select array_agg(start) as start_array from table1;

那么用构造函数编写可能会更好ARRAY()......

SELECT ARRAY(SELECT start FROM table1) AS start_array;
于 2017-01-10T21:26:30.207 回答