为什么array_agg()在postgresql中返回空数组?

时间:2017-01-09 13:29:12

标签: postgresql array-agg

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

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

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

select array_agg(start) as start_array from table1;

为什么它给出空数组?

1 个答案:

答案 0 :(得分:1)

不是

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

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

select array_agg(start) as start_array from table1;

然后是probably better written with the ARRAY() constructor ...

SELECT ARRAY(SELECT start FROM table1) AS start_array;