Postgre合并多行数据为一行

业务情景描述:用户需要一行展示所有的文件名称,
比如:你的1.txt、2.txt、3.txt未上传成功,请核查!

SELECT * FROM fileTable
--查询结果如下:
1.txt
2.txt
3.txt

方式一:使用string_agg函数,
定义:string_agg(‘要合并的字段’,‘分隔符’),直接把一个表达式变成字符串

SELECT string_agg (filename, ','order by filename ASC) FROM table;
--查询结果如下:
1.txt,2.txt,3.txt

方式二:使用array_agg函数,
定义:array_agg(expression),把表达式变成一个数组,
一般配合 array_to_string() 函数使用

SELECT array_to_string(array_agg(filename),',') FROM table;
--查询结果如下:
1.txt,2.txt,3.txt

官网 string_agg案例

你可能感兴趣的:(SQL)