pgsql字符串行转列
时间: 2023-07-29 09:11:45 浏览: 446
SQL中如何把行转为列的字符串
在 PostgreSQL 中,你可以使用 `string_agg()` 函数将多行转换为单行,并且可以使用 `GROUP BY` 子句将单行分组为多列。
假设你有一个名为 `your_table` 的表,其中包含 `original_column` 和 `new_column` 两个列,其中 `original_column` 是要保留的原始行信息,`new_column` 是要转换的列。你可以使用以下查询将其转换为多列:
```
SELECT original_column, string_agg(new_column, ',') AS new_columns
FROM your_table
GROUP BY original_column;
```
这将在 `new_columns` 列中聚合每个 `original_column` 值对应的多个 `new_column` 值,并使用逗号分隔它们。这将为每个唯一的 `original_column` 值生成一行。
如果你希望使用不同的分隔符,可以将其作为第二个参数传递给 `string_agg()` 函数。例如,以下查询将使用空格作为分隔符:
```
SELECT original_column, string_agg(new_column, ' ') AS new_columns
FROM your_table
GROUP BY original_column;
```
阅读全文