array_agg
이름을 수집 하는 데 사용 하면 쉼표로 구분 된 이름을 얻지 만 null
값 이있는 경우 해당 null도 집계에서 이름으로 간주됩니다. 예 :
SELECT g.id,
array_agg(CASE WHEN g.canonical = 'Y' THEN g.users ELSE NULL END) canonical_users,
array_agg(CASE WHEN g.canonical = 'N' THEN g.users ELSE NULL END) non_canonical_users
FROM groups g
GROUP BY g.id;
,Larry,Phil
대신 반환 됩니다 Larry,Phil
(내 9.1.2에서는 NULL,Larry,Phil
). 이 바이올린 처럼
대신를 사용하면 여기string_agg()
와 같이 이름 만 표시됩니다 (빈 쉼표 또는 null 제외) .
문제는 내가 Postgres 8.4
서버에 설치했고 string_agg()
거기에서 작동하지 않는다는 것입니다. array_agg를 string_agg ()와 유사하게 작동시키는 방법이 있습니까?