相似Mysql group_concat 的效果。sql
group by 後如何冗餘子表的字段。 好比A、B兩個表。B是A的子表,B中有A的主鍵。查詢A的時候,把B的某個字段顯示出來,用逗號隔開。數組
SELECT a.id, string_agg(b.name, ',') FROM A a, B b GROUP BY a.id
使用string_agg函數便可。網絡
CREATE AGGREGATE group_concat(anyelement) ( sfunc = array_append, -- 每行的操做函數,將本行append到數組裏 stype = anyarray, -- 彙集後返回數組類型 initcond = '{}' -- 初始化空數組 );
SELECT id, array_to_string(group_concat(name),',') from A group by id;
select array_to_string(ARRAY(SELECT unnest(array_agg(name))),',') from A;