「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > 複数の行をMySQLの単一のコンマ区切り行に結合する方法は?

複数の行をMySQLの単一のコンマ区切り行に結合する方法は?

2025-02-27に投稿されました
ブラウズ:171

How to Combine Multiple Rows into a Single Comma-Separated Row in MySQL?

mysql:複数の行を単一のコンマ分離行に変換する

MySQLデータベース内で、特定の列に複数の列に凝縮したい状況に遭遇する可能性があります。これは、次の例のシナリオで示されているように、Group_concat関数を利用することで実現できます。料理のテーブルには次の構造があります。 dish_id dish_name 1 dish_1 2 dish_2 3 dish_3 4 dish_4

dish_has_dishesテーブルは次のようになります: dish_has_dishes: Meal_id dish_id 1 2 1 3 1 4

目的:
DISH:
dish_id   dish_name
1         dish_1
2         dish_2
3         dish_3
4         dish_4

は、各食事に対応する行がある形式にデータを変換し、料理IDと名前をコンマ分離値としてリストすることです。目的の出力は、

DISH_HAS_DISHES:
meal_id   dish_id
1         2
1         3
1         4

solution:

を実現するために、いくつかの簡単な結合操作:

DISH:
dish_id   dish_name
1         dish_1
2         dish_2
3         dish_3
4         dish_4
を選択します。 group_concat(dish_id)as dish_ids、 group_concat(dish_name)as dish_names dish_has_dishesm from m in dish d on(m.dish_id = d.dish_id) このクエリでは、meal_id

by meal_id

は、dish_has_dishesテーブル(m)にdish_id列の皿テーブル(d)に参加することから始めます。列。この手法は、表形式データを操作し、複数の行にわたって情報を統合する場合に特に役立ちます。

最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3