SQL将多个单元格中的数据重新排列为一个[重复项]

问题描述 投票:0回答:1

我正在尝试创建一个视图,该视图将每个BRAND的特定列(假设为BRAND)和第二列的所有实例(假设为COLOR)分组,并分组在一个单元格中,并用分号分隔。我很难用语言表达出来,但这就是我想要的:

此表

|BRAND  |COLOR  |
|-------|-------|
|TOYOTA |BLUE   |
|NISSAN |BLUE   |
|FORD   |BLUE   |
|NISSAN |RED    |
|NISSAN |GREEN  |
|FORD   |RED    |
-----------------

此视图

|BRAND  |COLOR          |
|-------|---------------|
|TOYOTA |BLUE           |
|NISSAN |BLUE;RED;GREEN |
|FORD   |BLUE;RED       |
|-------|---------------|

我希望我能提供代码,但我没有提出任何想法。

mysql sql
1个回答
0
投票

您可以使用group_concat。这是demo

select
  brand,
  group_concat(color order by color SEPARATOR ';' ) as color
from myTable
group by
  brand
© www.soinside.com 2019 - 2024. All rights reserved.