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

Group by ID and show multiple color of that specific ID

我正在处理一个满足新要求的新项目,我不是专业级的查询编写者。有 ID,这些 ID 有多种颜色 ID 在有多种颜色的地方重复它自己,我想要的是根据该 ID 对这些颜色进行分组。

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

以下是table结构

...

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

...

在MySQL查询语言中,有一个叫做GROUP_CONCAT的函数可以让你实现你想要的。您的查询类似于:

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

希望对您有所帮助:)