PostgreSQL: 将多行数据分组并合并字段值
您可以使用STRING_AGG函数将多行数据根据某一字段分组,并将其他字段的值以逗号分隔放到一行中。
假设您有一个名为table_name的表,其中包含以下字段:group_field, field1, field2, field3。
以下是一个示例查询,根据group_field字段将数据分组,并将其他字段的值以逗号分隔放到一行中:
SELECT group_field, STRING_AGG(field1, ',') AS field1_list, STRING_AGG(field2, ',') AS field2_list, STRING_AGG(field3, ',') AS field3_list
FROM table_name
GROUP BY group_field;
这将返回一个结果集,其中每个分组字段的唯一值都有一行,每个字段的值都以逗号分隔的形式放在一行中。
请注意,STRING_AGG函数是PostgreSQL 9.0及更高版本中的内置函数。如果您使用的是旧版本的pgSQL,您可能需要使用其他方法来实现此功能。
原文地址: https://www.cveoy.top/t/topic/qqMw 著作权归作者所有。请勿转载和采集!