UNPIVOT 操作符將 Oracle 中的行數據轉換為列數據,用於更易於分析和查詢。它將包含多個行列的資料集轉換為一個帶有 ID 列和值列的新資料集,其中 ID 列表示原始行,值列包含原始列中的值。 UNPIVOT 語法為:SELECT * FROM UNPIVOT(table_name) AS unpivoted_table[WHERE pivot_condition]。其優點包括簡化查詢、提高效能和支援資料透視。例如,可以將銷售季度資料轉換為列,以便根據產品和季度輕鬆分析銷售額。
Oracle 中的 UNPIVOT 用法
UNPIVOT 是什麼?
UNPIVOT 是一種 Oracle 運算子,用於將行資料轉換為列資料。它將一個包含多行、多列的資料集轉換為一個包含兩列的新資料集:一個 ID 列(表示原始行)和一個值列(包含原始列中的值)。
UNPIVOT 用法
UNPIVOT 語法如下:
<code>SELECT * FROM UNPIVOT(table_name) [AS unpivoted_table] [FOR column_name IN (column_list)] [WHERE pivot_condition]</code>
其中:
是要轉換的資料集的名稱。
是要轉換為欄位的原始欄位的名稱。
是要轉換為列的原始欄位的清單。
是可選的條件,用於過濾要轉換為列的資料。
範例
假設有一個名為sales 的資料集,其中包含以下內容:
##如果 | #sales_q3 | ||
sales_q4 | 要將銷售季度資料轉換為列,可以使用下列UNPIVOT 查詢: | 結果資料集將如下所示: | |
product_id | product_name | sales_quarter | sales_value |
1 | Product A | Q1 |
1
Product A
以上是oracle中unpivot的用法的詳細內容。更多資訊請關注PHP中文網其他相關文章!