oracle pivot
时间: 2023-09-03 11:15:33 浏览: 66
pivot:将Oracle数据库中的数据透视到一个或多个实例化视图
Oracle PIVOT 是一种 SQL 操作,它可以将行数据转换为列数据,以方便数据分析和报表生成。它可以将一个包含多个行和列的表格转换成一个新的表格,其中原来的列变成了新表格的行,原来的行变成了新表格的列。这个操作通常用于生成透视表(Pivot Table)。
PIVOT 操作需要使用聚合函数(如 SUM、AVG 等)对数据进行汇总,并且必须指定一个 PIVOT 列(即原始表格中要转换为新表格的列),以及一个用于分类的 GROUP BY 列(即原始表格中未被转换的列)。下面是一个简单的示例:
```
SELECT *
FROM (
SELECT department, gender, salary
FROM employees
)
PIVOT (
SUM(salary)
FOR gender IN ('M' AS male, 'F' AS female)
);
```
这个示例将 `employees` 表格中的 `department`、`gender` 和 `salary` 列作为输入,将 `gender` 列转换为新表格的列,分别用 `male` 和 `female` 表示,用 `SUM(salary)` 聚合函数对 `salary` 列进行汇总,最终生成一个新的透视表格。
阅读全文