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