ホームページ >データベース >mysql チュートリアル >データ変換にOracle SQLのPIVOT演算子を使用する方法は?
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 中国語 Web サイトの他の関連記事を参照してください。