要使用group_concat查看的表

时间:2018-03-12 14:35:36

标签: mysql sql

我有下表,我想生成一个视图。看到结果。 我怎样才能实现这一目标? 我尝试使用group_cat,但这不起作用:(

id product_id cat_id date
1  1          1      2018-05-01
2  1          1      2018-05-02
3  1          1      2018-05-04
4  1          1      2018-05-05
5  1          1      2018-05-06
6  1          1      2018-05-07
4  1          1      2018-05-08
5  1          1      2018-05-09
6  1          1      2018-05-10
7  1          2      2018-05-01
8  1          2      2018-05-02
9  1          2      2018-05-04
10  1          2      2018-05-05
11  1          2      2018-05-06
12  1          2      2018-05-07
13  1          2      2018-05-08
14  1          2      2018-05-09
15  1          2      2018-05-10

结果:

product_id cat_id dates
1          1      2018-05-01,2018-05-02,2018-05-03,2018-05-04,etc comma seperated
1          2      2018-05-01,2018-05-02,2018-05-03,2018-05-04,etc comma seperated

查询:

select
  tmp.product_id, tmp.cat_id, group_concat(tmp.date separator ',') as dates
from xxxx as tmp
group by tmp.cat_id;

2 个答案:

答案 0 :(得分:2)

您的小组应该是tmp.product_id, tmp.cat_id

select
  tmp.product_id, tmp.cat_id, group_concat(tmp.date separator ',') as dates
from demo as tmp
group by tmp.product_id, tmp.cat_id

Demo

答案 1 :(得分:1)

试试这个:

SELECT product_id, cat_id, GROUP_CONCAT(date SEPARATOR ',') dates FROM `table_name` GROUP BY product_id, cat_id