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