首頁 > 資料庫 > mysql教程 > 如何使用Oracle SQL的PIVOT運算子進行資料轉換?

如何使用Oracle SQL的PIVOT運算子進行資料轉換?

Linda Hamilton
發布: 2025-01-23 07:26:09
原創
802 人瀏覽過

How to Use Oracle SQL's PIVOT Operator for Data Transformation?

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板