如何在 PostgreSQL 中将一行中的多个列合并成一个字段?
时间: 2024-10-28 20:11:40 浏览: 22
teas-with-postgresql-raw
在 PostgreSQL 中,如果你想把一行中的多个列合并成一个字段,通常可以使用 `STRING_AGG` 函数(也称为 `GROUP_CONCAT` 或者 `array_to_string`),它是一个内建聚合函数,用于将一组值连接成一个字符串。假设你想将名为 `columns` 的表中的所有列合并到一个名为 `combined_column` 的新字段中,你可以使用以下 SQL 查询:
```sql
SELECT
STRING_AGG(column1, ', ') AS combined_column, -- 将 column1 列用逗号分隔
STRING_AGG(column2, ', ') AS combined_column, -- 同理对于 column2
STRING_AGG(column3, ', ') AS combined_column -- 如果有多个列
FROM
columns
GROUP BY
other_columns_if_needed; -- 根据需要,只对某些主键或其他标识列进行分组
```
这个查询会返回一个新的结果集,其中每行只有一个记录,`combined_column` 包含了指定列的所有值,以逗号分隔。
阅读全文