ホームページ >データベース >mysql チュートリアル >SQL を使用して MySQL データをナロー形式からワイド形式に再形成するにはどうすればよいですか?
はじめに
データは多くの場合、さまざまな形式で提供されます。ある形式から別の形式に変換する必要があります。一般的な変換の 1 つは、ナロー/トール フォーマットからワイド フォーマットへの変換で、ナロー テーブルの複数の列がワイド テーブルの複数の行になります。この記事では、MySQL でこの変換を実現する方法について説明します。
ワイド テーブル構造の作成
ワイド フォーマット テーブルを作成するには、まずナロー テーブル構造からすべての一意のキーを識別します。テーブル。これは、次のクエリを使用して実現できます。
select distinct key from table;
このクエリの結果は、狭いテーブル内のすべての一意のキーのリストを提供します。これらのキーは、ワイド フォーマット テーブルの列名になります。たとえば、個別のキーが ['President', 'Currency'] の場合、ワイド フォーマット テーブルは次の構造になります:
country, President, Currency
ワイド テーブル データの作成
ワイド フォーマット テーブルの値を入力するには、MAX() や MAX() などの集計関数を含む SELECT ステートメントを使用します。 GROUP_CONCAT():
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, President, Currency US, Obama, Dollar China, Hu, Yuan
代替アプローチ: クロスタブまたはピボット テーブル
ワイド フォーマット テーブルを作成する代替アプローチは、次のとおりです。クロス集計またはピボット テーブル。これは、MySQL の PIVOT 演算子などのツールを使用して実現できます。これにより、使用する列や集計関数を指定できます。
結論
狭いデータからのデータの再構成MySQL では、SQL 集計関数またはクロス集計/ピボット テーブルを使用して、ワイド フォーマットに簡単に変換できます。この変換は、チャートやグラフなどのデータ視覚化ツールを使用する場合に特に便利です。
以上がSQL を使用して MySQL データをナロー形式からワイド形式に再形成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。