oracle 中 pivot的用法
时间: 2024-12-10 12:52:22 浏览: 10
在Oracle数据库中,`PIVOT`是一个用于数据重塑的关键字,它允许你在查询结果集中转换行数据到列,常用于汇总和整理表格布局。基本语法如下:
```sql
SELECT column_name(s), value
FROM table_name
PIVOT (
aggregate_function(column_to_aggregate)
FOR column_to_pivot IN (value1, value2, ...)
);
```
这里解释一下关键部分:
- `column_name(s)`:你想要保持不变的列名。
- `table_name`:你要操作的数据表。
- `aggregate_function(column_to_aggregate)`:通常是一个聚合函数(如COUNT, SUM, AVG等),处理需要转换的列。
- `column_to_pivot`:你要进行旋转的列,它的值将变成新列的名称。
- `(value1, value2, ...)`:pivot操作中使用的值列表。
例如,如果你有一个销售记录表,想按产品类别统计每个员工的总销售额,可以这样做:
```sql
SELECT employee_id, product_category, sum(sales_amount) as total_sales
FROM sales_data
PIVOT (
sum(sales_amount)
FOR product_name IN ('Product A', 'Product B', 'Product C')
);
```
阅读全文