MySQL でのデータの再形成: 縦長から横長へ
データベース内のデータを操作する場合、多くの場合、データを元のデータから再形成する必要があります。縦長のフォーマットから幅広のフォーマットまで。この変換により、よりコンパクトで有意義な方法でデータを分析および視覚化することが容易になります。
例:
長い形式のデータを含むテーブルについて考えてみましょう:
| country | key | value | |---|---|---| | USA | President | Obama | | USA | Currency | Dollar | | China | President | Hu | | China | Currency | Yuan |
この形式では、各行は国の 1 つの属性を表します。このデータをワイド形式に変換するには、一意のキーごとに列を含む新しいテーブルを作成し、各国の対応する値を入力します。
| country | President | Currency | |---|---|---| | USA | Obama | Dollar | | China | Hu | Yuan |
SQL 変換:
MySQL は、クロス集計やピボット テーブルを使用してデータを再構成する機能を提供します。目的のワイドフォーマットテーブルを生成するクエリの例を次に示します。
SELECT country, MAX( IF( key='President', value, NULL ) ) AS President, MAX( IF( key='Currency', value, NULL ) ) AS Currency FROM table GROUP BY country;
このクエリは、MAX() 集計関数を使用して、それぞれの最大値 (つまり、各一意のキーに関連付けられた値) を見つけます。 country.
手順:
結論:
MySQL でクロス集計またはピボット テーブルを使用すると、長いデータから簡単にデータを再形成することができます。 、トールフォーマットからワイドフォーマットまで。これはデータ分析と視覚化にとって貴重な手法であり、提供されたコードを使用して MySQL に簡単に実装できます。
以上がMySQL でトールデータをワイドデータに再形成する方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。