ホームページ > データベース > mysql チュートリアル > 条件付き集計を使用して MySQL 結果セットをピボット テーブルに変換する方法

条件付き集計を使用して MySQL 結果セットをピボット テーブルに変換する方法

Patricia Arquette
リリース: 2024-12-03 19:44:14
オリジナル
165 人が閲覧しました

How to Transform a MySQL Result Set into a Pivot Table Using Conditional Aggregation?

MySQL でのピボット テーブルの変換

MySQL には、同じ ID を共有するがタイプと指定が異なる複数の行を含む結果セットがあります。これをピボット テーブル形式に変換するとします。この形式では、型が列になり、指定がそれらの列内の行の値になります。これを実現する方法は次のとおりです。

この解決策には、データのピボット処理が含まれます。これは、ピボット テーブルの作成と呼ばれます。このプロセスには以下が含まれます:

  1. クエリの準備:

    SELECT ID, 
    MAX(CASE Type WHEN 202 THEN Degignation END) AS `202`
    MAX(CASE Type WHEN 234 THEN Degignation END) AS `234`
    MAX(CASE Type WHEN 239 THEN Degignation END) AS `239`
    Email
    FROM mytable
    GROUP BY ID, Email
    ログイン後にコピー
  2. クエリの解釈:

    • クエリは次を使用しますCASE 式を使用した条件付き集計で、対応するタイプ列 (202、234、239) に指定を割り当てます。
    • MAX 関数は、ID と電子メールの各グループ内の指定を集計します。
    • GROUP BY 句は ID と電子メールに基づいて結果を結合し、ピボット テーブルを作成しますformat.

注:

クエリでは、個別の Type 値が事前にわかっていることが前提となっていることに注意することが重要です。 SQL では、クエリの準備中に列定義を修正する必要があります。 Type 値のセットが異なる場合は、動的クエリまたはストアド プロシージャを使用して、実行時に適切なクエリを生成する必要があります。

以上が条件付き集計を使用して MySQL 結果セットをピボット テーブルに変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート