oracle怎么把行变成列

1059
2024/6/18 17:39:10
栏目: 云计算
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在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列中的值SalesHRIT转换为列,并显示每个部门的平均工资。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: Oracle asm如何加数据文件