以下の内容はhttps://kkkw.hatenablog.jp/entry/2013/01/16/165356より取得しました。


group_concatで複数行を1行にまとめる。

そのままなだけど、知らなかったのでメモ。
mysql独自の関数なので、他への移行など考えると
使いドコロが難しいけど、ちょっとした調査には
便利そうな感じ。

準備

受注テーブルなイメージで。

テーブル作成
CREATE TABLE order_detail (
 id int(11) NOT NULL,
 member_id int(11) NOT NULL,
 product varchar(60) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8
テストデータ
insert into order_detail values 
(1,1,'cake'),
(2,1,'cookie'),
(3,1,'chocolate'),
(4,2,'jelly'),
(5,2,'tea'),
(6,2,'orange'),
(7,3,'apple'),
(8,3,'daifuku'),
(9,3,'yokan')

SQL

SELECT member_id, group_concat( o.product
ORDER BY id DESC
SEPARATOR '/' )
FROM order_detail o
GROUP BY member_id

実行結果

member_id group_concat( o.product order by member_id desc separator '/' )
1 chocolate/cookie/cake
2 orange/tea/jelly
3 yokan/daifuku/apple



以上の内容はhttps://kkkw.hatenablog.jp/entry/2013/01/16/165356より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14