ホームページ >データベース >mysql チュートリアル >CASE 関数と集計関数を使用して MySQL で行を列にピボットする方法
MySQL で行を列に変換する方法
ピボット テーブルは、データをより簡単な形式に再配置するために使用される一般的なデータ変換です。読んで分析する。このシナリオでは、複数の行を含む結果セットを、個別の Type 値ごとの列と、一意の ID と電子メールの組み合わせごとの行を含むテーブルに変換したいと考えています。
これを MySQL で実現するには、次のクエリ:
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
このクエリは CASE ステートメントを使用して、Type 値に基づいて各行の Degignation 値を条件付きで設定します。 MAX() 集計関数は、ID と電子メールの各グループ内の各タイプの最大 Degignation 値を返します。
注: プレースホルダー テーブル名 (mytable) をデータを含む実際のテーブル名。さらに、SQL ではクエリの実行中に列を動的に追加できないため、すべての個別の Type 値を事前に知っておく必要があります。
以上がCASE 関数と集計関数を使用して MySQL で行を列にピボットする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。