温馨提示×

oracle怎么把行变成列

小亿
82
2024-05-25 17:39:10
栏目: 云计算

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

0