ホームページ >データベース >mysql チュートリアル >GROUP_CONCAT はどのようにして MySQL データを 1 つの列に統合できますか?

GROUP_CONCAT はどのようにして MySQL データを 1 つの列に統合できますか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-18 19:28:14650ブラウズ

How Can GROUP_CONCAT Consolidate MySQL Data into a Single Column?

包括的なデータ連結のための GROUP_CONCAT の利用

データを統合フォーマットに変換するタスクに直面した場合、GROUP_CONCAT が強力なツールとして浮上します。 MySQL。特定のデータ操作の問題に対処して、その機能を調べてみましょう:

目的:
次のデータを統合形式に変換します:

id Name Value
1 A 4
1 A 5
1 B 8
2 C 9

望ましい出力:

id Column
1 A:4,5,B:8
2 C:9

解決策:

この変換を実現するには、GROUP_CONCAT を組み合わせて使用​​します。サブクエリ:

select id, group_concat(`Name` separator ',') as `ColumnName`
from
(
  select id, 
  concat(`Name`, ':', group_concat(`Value` separator ',')) as Name
   from mytbl group by id, Name
) tbl
group by id;

内訳:

サブクエリは 2 つの目的を果たします:

  1. データを ID と名前でグループ化し、連結します。各グループ内の「値」列。これにより、値の文字列が連結された ID と Name の一意の組み合わせを含むテーブルが作成されます。
  2. 次に、外側の GROUP_CONCAT 関数は、結果を ID でグループ化し、Name 値をコンマで区切られた単一の文字列に連結します。

例:

提供されたデータ。サブクエリは次の結果を生成します:

id Name
1 A:4,5
1 B:8
2 C:9

次に、外側の GROUP_CONCAT が最終出力を生成します:

id Column
1 A:4,5,B:8
2 C:9

以上がGROUP_CONCAT はどのようにして MySQL データを 1 つの列に統合できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。