2010-11-11 27 views
3

我可以知道我如何根據標識符合並數組:PostgreSQL的合併文本[]

Column1 Column2 
-------------------------- 
    1   {"a","b"} 
    1   {"c"} 
    2   {"d"} 
    2   {"w"} 

輸出:

Column1 Column2 
-------------------------- 
    1   {"a","b","c"} 
    2   {"d","w"} 

試過ARRAY_AGG但不是合併相應的功能陣列。目前使用8.4版本。

回答

1
CREATE AGGREGATE array_concat(TEXT[]) (
    SFUNC = array_cat, 
    STYPE = TEXT[], 
    INITCOND = '{}' 
); 

並假設你的表是受影響的 「一」,列有 「N」 和 「t」:

SELECT array_concat(t) FROM a GROUP BY n;