oracleのpivot関数の使い方は何ですか。

Oracleデータベースでは、PIVOT関数を使用して行を列に変換することができます。以下はPIVOT関数の使用方法です。

salesという名前のテーブルがあると仮定すると、次の列が含まれています。

  1. 年:年度
  2. 四半期:季節
  3. 売り上げ:金額

列名に季節、行名に年、値として売上高を使用して表示するには、次のようにPIVOT関数を使用できます:

SELECT *
FROM (
    SELECT year, quarter, amount
    FROM sales
)
PIVOT (
    SUM(amount)
    FOR quarter IN ('Q1', 'Q2', 'Q3', 'Q4')
)
ORDER BY year;

上記のステートメントでは、まずsalesテーブルからyear、quarter、amountの列を選択します。その後、PIVOT関数を使用して、quarter列を列名とし、amount列を値として集約し、表示する四半期をIN句で指定します。最後に、yearでソートします。

他の列に集計操作を行う場合は、SUM関数をAVGやMAXなど他の集計関数に置き換えることができます。

PIVOT機能は、クエリを書く際に表示する列値が既知の場合にのみ使用でき、動的に列を生成することはできません。列を動的に生成する必要がある場合は、動的SQLを使用することを検討してください。

bannerAds