SQLでカラムの値を行名にする方法

SQLでPIVOT操作を行うことで、行の値を列名に変換できます。PIVOT操作は、集計関数を使ってデータを透視表形式に自動的に変換する方法です。

まず、ピボットの列とする列値を選択します。次に、集計関数付きのPIVOT演算子を使用して透視表を作成します。

SQLにおけるPIVOT操作を使って、列値を列ヘッダに変換する方法を示す例を以下に示します。

SELECT *
FROM (
  SELECT column_name, value
  FROM your_table
) AS src
PIVOT (
  MAX(value)
  FOR column_name IN ([column1], [column2], [column3])
) AS pivot_table;

上掲の例で、your_table は変換したいデータが入っているテーブルで、column_name は列名に変換する列、value は新しい列に詰める値です。[column1]、[column2]、[column3] は新しい列名として使う列値です。

ここで、上記の例で用いたMAX関数は、複数の行値を1つのセルにまとめる集計関数であることに注意。必要に応じて、SUMやCOUNTなど他の集計関数を選択することができます。

サンプルで示されたテーブル名、列名、および値は必要に応じて変更してください。

bannerAds