Oracle SQL中的透視查詢
透視查詢可讓您將資料從傳統的列格式轉換為行格式,從而能夠輕鬆地跨不同類別分析和比較資料。
建立透視查詢
在Oracle SQL中建立透視查詢,您可以使用PIVOT運算子。此運算子要求您指定要透視的資料、聚合函數(例如SUM、COUNT或AVG)以及要圍繞其透視的類別值。
範例資料與查詢
考慮tq84_pivot
表中的以下範例資料:
<code>MONTH | VALUE -------+----------- 1 | 100 2 | 200 3 | 300 4 | 400 5 | 500 6 | 600</code>
要圍繞月份類別透視資料並對VALUE列求和,您可以使用以下查詢:
<code class="language-sql">SELECT * FROM tq84_pivot PIVOT ( SUM(VALUE) AS sum_value FOR MONTH IN (1 AS MONTH_JAN, 2 AS MONTH_FEB, 3 AS MONTH_MAR, 4 AS MONTH_APR, 5 AS MONTH_MAI, 6 AS MONTH_JUN) );</code>
輸出結果
查詢將傳回以下輸出:
<code>MONTH_JAN | MONTH_FEB | MONTH_MAR | MONTH_APR | MONTH_MAI | MONTH_JUN --------+--------+--------+--------+--------+-------- 100 | 200 | 300 | 400 | 500 | 600</code>
Oracle 11g以上版本
Oracle 11g引入了PIVOT運算符,它允許您以更簡潔的方式建立透視查詢。對於相同範例數據,查詢可以簡化為:
<code class="language-sql">SELECT MONTH_JAN, MONTH_FEB, MONTH_MAR, MONTH_APR, MONTH_MAI, MONTH_JUN FROM tq84_pivot PIVOT ( SUM(VALUE) FOR MONTH IN (1 AS MONTH_JAN, 2 AS MONTH_FEB, 3 AS MONTH_MAR, 4 AS MONTH_APR, 5 AS MONTH_MAI, 6 AS MONTH_JUN) );</code>
以上是如何使用Oracle SQL的PIVOT運算子進行資料轉換?的詳細內容。更多資訊請關注PHP中文網其他相關文章!