需求将下列表格相同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