やりたいこと
id | product_id | buy_date |
---|---|---|
0 | a | 2011-11-01 |
1 | b | 2011-11-03 |
1 | c | 2011-11-02 |
から
id | dates | product_history |
---|---|---|
0 | 2011-11-01 | a |
1 | 2011-11-02_2011-11-03 | c_b |
を取得したい。
コード
SELECT id, GROUP_CONCAT( STRING(dayofyear_index), '_') as dates, GROUP_CONCAT( product_name , '_') as product_history FROM ( SELECT DAYOFYEAR(buy_date) as dayofyear_index, product_id as product_name FROM [project:table_name] WHERE ... ORDER BY dayofyear_index ) GROUP BY id HAVING ...
説明
先に時系列でソートしたテーブルを作ってしまい、それをGROUP_CONCATでまとめる。