ホームページ >データベース >mysql チュートリアル >MySQL で動的データを使用して行から列への変換 (ピボット) を実行する方法
MySQL の行から列への変換: 動的データのピボット テーブル
ピボット テーブルは、行指向からデータを変換する便利な方法です。形式を列指向の形式に変更すると、分析とレポートが容易になります。 MySQL では、この変換は特殊な技術を通じて実現できます。
次のデータ例を考えてみましょう:
ID | Type | 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 サイトの他の関連記事を参照してください。