Oracle中的PIVOT函數用于將行數據轉換為列數據。它將一個表中的行數據按照某個字段進行分組,并將這些字段的值作為列,然后將另一個字段的值作為新的列數據。
在Oracle中,PIVOT函數的用法有以下幾種:
SELECT *
FROM 表名
PIVOT (聚合函數(column_name) FOR 列名 IN (列值1, 列值2, ..., 列值n))
PIVOT函數中的聚合函數可以是SUM、AVG、MAX、MIN等。可以根據實際需求選擇適用的聚合函數。
列名是要轉置的字段,列值是要作為列的值。列值可以是具體的值,也可以是從子查詢中獲取的。
可以根據需要同時轉置多個字段。
可以為PIVOT函數生成的列使用別名,以便更好地展示結果。
可以使用子查詢來對PIVOT函數進行條件過濾,實現更復雜的轉置需求。
需要注意的是,PIVOT函數在Oracle 11g及以上版本中才可用。