按ID分组并显示该特定ID的多种颜色

时间:2019-05-14 13:25:56

标签: mysql sql sqlyog

我正在一个满足新要求的新项目中工作,我不是专业级查询编写者。有ID,并且这些ID具有多种颜色,在有多种颜色的情况下,ID会自我重复,我想要的是将这些颜色与该ID进行分组。

特别是客户端只是想以这种方式查看它,而我正在使用SQLyog Ultimate。

以下是表格结构

...

product_id  color
1            Red
2            Blue
2            White
3            Red
3            Blue
3            Black
4            Purple
5            Yellow

...

我希望它像

...

1 Red
2 Blue White
3 Red Blue Black
4 Purple
5 Yellow

...

1 个答案:

答案 0 :(得分:1)

在MySQL查询语言中,有一个名为GROUP_CONCAT的函数,可让您实现所需的功能。您的查询将类似于:

select 
    product_id, 
    GROUP_CONCAT(color SEPARATOR ' ') 
from colors
group by product_id;

希望这会有所帮助:)