string_agg

PostgreSQL中的group_concat使用

妖精的绣舞 提交于 2019-12-02 22:53:31
group_concat是mysql中的一个聚集函数,挺好用的,mysql的group_concat使用可参考:http://my.oschina.net/Kenyon/blog/70480。在postgresql中实现这个功能倒也容易,可以用array的转换或者函数string_agg()来做。 DB环境:postgresql 9.1.2 一.测试数据准备 postgres=# create table t_kenyon(id int,name text); CREATE TABLE postgres=# insert into t_kenyon values(1,'kenyon'),(1,'chinese'),(1,'china'),('2','american'),('3','japan'),('3','russian'); INSERT 0 6 postgres=# select * from t_kenyon order by 1; id | name ----+---------- 1 | kenyon 1 | chinese 1 | china 2 | american 3 | japan 3 | russian (6 rows) 二.实现过程 1.以逗号为分隔符聚集 postgres=# select array_to_string(ARRAY(SELECT