在Oracle数据库中,可以使用PIVOT
关键字将行转换为列。以下是一个简单的示例:
假设我们有一个名为employees
的表,结构如下:
Employee_ID | Department | Salary
1 | Sales | 5000
2 | HR | 6000
3 | Sales | 5500
4 | IT | 7000
如果我们想要将Department
列中的值转换为列,并显示每个部门的平均工资,可以使用以下查询:
SELECT *
FROM employees
PIVOT
(
AVG(Salary)
FOR Department IN ('Sales' AS Sales, 'HR' AS HR, 'IT' AS IT)
);
运行此查询后,结果将如下所示:
Employee_ID | Sales_Avg | HR_Avg | IT_Avg
1 | 5000 | null | null
2 | null | 6000 | null
3 | 5500 | null | null
4 | null | null | 7000
在上面的示例中,我们将Department
列中的值Sales
、HR
和IT
转换为列,并显示每个部门的平均工资。