MySQL でのピボット テーブルの変換
MySQL には、同じ ID を共有するがタイプと指定が異なる複数の行を含む結果セットがあります。これをピボット テーブル形式に変換するとします。この形式では、型が列になり、指定がそれらの列内の行の値になります。これを実現する方法は次のとおりです。
この解決策には、データのピボット処理が含まれます。これは、ピボット テーブルの作成と呼ばれます。このプロセスには以下が含まれます:
クエリの準備:
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
クエリの解釈:
注:
クエリでは、個別の Type 値が事前にわかっていることが前提となっていることに注意することが重要です。 SQL では、クエリの準備中に列定義を修正する必要があります。 Type 値のセットが異なる場合は、動的クエリまたはストアド プロシージャを使用して、実行時に適切なクエリを生成する必要があります。
以上が条件付き集計を使用して MySQL 結果セットをピボット テーブルに変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。