STERFIELD

Mysqlで複数行の結果を一行で出す方法

Mysqlで複数行の結果を一行で出す方法

複数の値を1行にまとめて返す、group_concat関数を使用します。

PHPの関数で言うと、implodeと同じ機能になります。

以下2つのテーブルがあります。

Aテーブル

a_idname
1山田
2鈴木

 

Bテーブル

b_ida_idhobby
11映画
21お酒
32音楽
42ショッピング
51旅行
62ドライブ
71カラオケ
82サッカー
92温泉

 

group_concatを使用してSQLを作成します。

実行結果はこのようになりました。

a_idhobby
1映画,お酒,旅行,カラオケ
2音楽,ショッピング,ドライブ,サッカー,温泉

他にもこんなことができます。

区切り文字を指定できます。(指定しない場合、カンマ区切りになります。)

昇順・降順に並べられます。

Author Profile

著者近影

スターフィールド編集部

SHARE

合わせて読みたい