ホームページ > データベース > mysql チュートリアル > CASE 関数と集計関数を使用して MySQL で行を列にピボットする方法

CASE 関数と集計関数を使用して MySQL で行を列にピボットする方法

Mary-Kate Olsen
リリース: 2024-12-03 02:28:11
オリジナル
837 人が閲覧しました

How to Pivot Rows into Columns in MySQL Using CASE and Aggregate Functions?

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 サイトの他の関連記事を参照してください。

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