2017-01-09 148 views
0

我有一個整數類型列名爲開始。我想通過這個列的值來創建一個數組。這似乎很容易,我使用array_agg(),但它是給出空數組作爲輸出。以下是我的列數據爲什麼array_agg()在postgresql中返回空數組?

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

而下面是用我的查詢,使陣列:

select array_agg(start) as start_array from table1; 

爲什麼給空數組?

+0

那真的是你的整個查詢?除此之外,您還沒有任何「WHERE」或其他條款? –

+4

這應該起作用。你確定桌子裏真的有數據嗎? –

+0

@GordonLinoff是的表有數據 – LSG

回答

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; 
相關問題