如何将表中的多个行组合成一个带有一些自定义字符的行?
用于描述我的问题我将展示一个示例表和数据,
create table bar (
foo text
);
insert into bar values ('ABC'),
('DEF'),
('UVW'),
('XYZ');
我需要得到一个如下所示的结果
1_ABC, 2_DEF, 3_UVW, 4_XYZ
答案 0 :(得分:1)
借助PostgreSQL中的row_number()和string_agg函数,您可以获得所需的结果
根据文件,
row_number():其分区中当前行的编号, 从1
开始计算string_agg(expression,delimiter):输入值连接成一个 字符串,用分隔符分隔
select string_agg(col,', ') result
from (
select row_number() over() ||'_'|| foo col
from bar
) t