pgsql crosstab函数
时间: 2024-08-15 22:10:47 浏览: 60
有关pgsql高级函数汇总
5星 · 资源好评率100%
在PostgreSQL数据库中,crosstab函数是一个非常有用的内建函数,用于将数据从宽表转换为长表(也称为透视或交叉表格)。这个功能通常用于整理和分析分组后的数据,比如报告汇总或数据分析场景中,当需要按照两个类别对数据进行交叉分类时。
crosstab接受两个参数:行标签(通常是查询结果中的一个字段)和列标签(另一个字段),并创建一个新的表格,其中每一行代表一个行标签值,每一列代表一个列标签值,对应单元格则是这两者组合的数据。这对于生成易于理解和解读的表格尤其有用。
例如,如果你有一个包含销售数据的表格,有销售人员和产品作为两列,可以使用crosstab来计算每个销售人员的产品销售额,得到一个按销售人员和产品分类的销售汇总表。
语法大致如下:
```sql
SELECT * FROM crosstab(
'SELECT salesperson, product, amount FROM sales_data',
'SELECT DISTINCT salesperson, product'
) AS result_table (salesperson_name text, product_name text, total_sales numeric);
```
阅读全文