この記事では、SQLのPIVOT処理を使って行データを列データに変換する方法について、具体的な例とともに詳しく説明します。PIVOTを使うことで、集計やレポート作成の効率が格段に向上します。
目次
PIVOTとは
PIVOTはSQLの機能の一つであり、行データを列データに再構成する際に使用されます。特に、複数の行データを特定のキーでまとめて、列として表示したい場合に便利です。
PIVOTの基本構文
PIVOTの基本的な構文は以下のようになります。
SELECT ...
FROM ...
PIVOT (AGGREGATE_FUNCTION(column_to_aggregate)
FOR column_to_pivot
IN (list_of_values))
PIVOTの利点
PIVOTの主な利点は以下の3点です。
- レポート作成が容易になる
- 集計処理が高速化する
- データの可視性が向上する
PIVOTの具体的な使用例
実際にPIVOTを使って行データを列データに変換する具体的な例を見てみましょう。
元のテーブル
以下は、商品の月別売上を記録したテーブル「sales」です。
商品名 | 月 | 売上 |
---|---|---|
リンゴ | 1月 | 200 |
リンゴ | 2月 | 150 |
バナナ | 1月 | 180 |
PIVOTを使用した変換
上記の「sales」テーブルをPIVOTを使って月ごとに商品の売上を集計するSQL文は以下のようになります。
SELECT 商品名, [1月], [2月]
FROM
(SELECT 商品名, 月, 売上 FROM sales)
PIVOT
(SUM(売上)
FOR 月 IN ([1月], [2月]))
変換後のテーブル
上記のSQL文を実行すると、以下のようなテーブルが出力されます。
商品名 | 1月 | 2月 |
---|---|---|
リンゴ | 200 | 150 |
バナナ | 180 | NULL |
まとめ
SQLのPIVOT処理を使用することで、行データを列データに効率的に変換できます。特にレポート作成や集計作業において、この機能は非常に有用です。PIVOTを使う前と使った後のデータを比較することで、その便利さがよくわかると思います。
created by Rinker
¥4,554
(2024/05/05 20:16:51時点 Amazon調べ-詳細)
コメント