我有一个名为start的整数类型列。我想通过此列的值创建一个数组。这似乎很容易,我使用了array_agg(),但它给出了空数组作为输出。以下是我的专栏数据
start
1
2
11
5
.
.
. (and so on)
以下是用于制作数组的查询:
select array_agg(start) as start_array from table1;
为什么它给出空数组?
答案 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;