2017-01-09 7 views
0

저는 start라는 이름의 정수형 컬럼을 가지고 있습니다. 이 열의 값으로 배열을 만들고 싶습니다. 그것은 매우 쉽고 array_agg()를 사용했지만 출력으로 빈 배열을 제공합니다. 왜 빈 배열을주고있다array_agg()가 postgresql에서 빈 배열을 반환하는 이유는 무엇입니까?

select array_agg(start) as start_array from table1; 

: 내 열 데이터

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

그리고 다음은 내 쿼리는 배열을 만드는 데 사용됩니다되는 다음?

+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;