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

猜你喜欢

转载自www.cnblogs.com/karl-F/p/9182566.html
今日推荐