oracle怎么把行变成列

寻技术 Oracle 18小时前 5

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

关闭

用微信“扫一扫”