postgresql中pivot函数怎么用
时间: 2023-08-13 09:09:19 浏览: 220
power pivot and power BI
3星 · 编辑精心推荐
在 PostgreSQL 中,没有内置的 PIVOT 函数,但是可以使用 SQL 查询和一些聚合函数来实现类似的效果。下面是一种常见的方法:
假设你有一个表格名为 `table_name`,包含以下列:`category`、`column_to_pivot` 和 `value`。
```sql
SELECT *
FROM (
SELECT category,
MAX(CASE WHEN column_to_pivot = 'column_value1' THEN value END) AS pivot_column_value1,
MAX(CASE WHEN column_to_pivot = 'column_value2' THEN value END) AS pivot_column_value2,
-- 添加更多的列值和聚合函数
FROM table_name
GROUP BY category
) AS pivoted_table;
```
在上面的查询中,我们使用了 CASE 语句将不同的列值转换为对应的列,并使用聚合函数(例如 MAX)来汇总每个类别的值。你可以根据需要修改查询来适应你的具体情况。
请注意,这种方法需要手动指定要转换的列值,并且只能在列数量有限的情况下使用。如果你的列值非常多或者动态变化,可能需要使用动态 SQL 或编写自定义函数来实现更灵活的 PIVOT 功能。
阅读全文