PostgreSQL 将多行合并转为列

 

 

 

需求将下列表格相同id的name拼接起来输出成一列

id Name
1 peter
1 lily
2 john

 

 

转化后效果:

id Name
1 peter;lily
2 john;

 实现方式使用 array_to_string 和 array_agg 函数,具体语句如下:

string_agg(expression, delimiter) 把表达式变成一个数组

string_agg(expression, delimiter)  直接把一个表达式变成字符串

 

select  id, array_to_string( array_agg(Name),  ';' ) from table group by id

 

posted @ 2018-06-14 13:19  碎心炼心  阅读(3123)  评论(1编辑  收藏  举报