MySQL でのデータ変換に GROUP_CONCAT と CONCAT を利用する
MySQL では、複数の行のデータを 1 つの文字列に組み合わせることができます。 GROUP_CONCAT 関数の使用。次の情報を含むテーブルについて考えてみましょう:
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 と 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 段階で動作します。
このクエリを実行すると、次の行を含む目的のデータ変換が得られます。形式:
id | Column |
---|---|
1 | A:4,5,B:8 |
2 | C:9 |
以上がMySQL の GROUP_CONCAT および CONCAT 関数は、どのようにして複数の行を単一のカンマ区切りの文字列に変換できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。