ホームページ > データベース > mysql チュートリアル > MySQL で動的データを使用して行から列への変換 (ピボット) を実行する方法

MySQL で動的データを使用して行から列への変換 (ピボット) を実行する方法

Mary-Kate Olsen
リリース: 2024-11-28 11:51:10
オリジナル
935 人が閲覧しました

How to Perform Row to Column Transformation (Pivot) in MySQL with Dynamic Data?

MySQL の行から列への変換: 動的データのピボット テーブル

ピボット テーブルは、行指向からデータを変換する便利な方法です。形式を列指向の形式に変更すると、分析とレポートが容易になります。 MySQL では、この変換は特殊な技術を通じて実現できます。

次のデータ例を考えてみましょう:

ID Type Email Degignation
1000000000 202 [email protected] Entrepreneur
1000000000 234 [email protected] Engineering,Development
1000000000 239 [email protected] CTO

このデータをピボットするには、次のクエリを利用します:

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 値ごとに列を動的に作成します。 MAX 関数は、各 ID と電子メールの組み合わせの Degignation 値を集計するために使用されます。

このクエリが効果的に機能するには、可能なすべての Type 値を事前に知っておく必要があることに注意することが重要です。 MySQL では、実行時に検出されたデータに基づいてカラムを動的に追加することはできません。列定義はクエリの準備中は静的である必要があります。

この手法を使用すると、行指向のデータを列指向の形式に変換でき、より直観的なデータ プレゼンテーションを提供することで分析とレポートのタスクが容易になります。

以上がMySQL で動的データを使用して行から列への変換 (ピボット) を実行する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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