考虑以下脚本来创建表结构和示例数据

CREATE TABLE TableA (
FieldA VARCHAR(30),
FieldB VARCHAR(30),
FieldX varchar(50)
);
Insert into TableA (FieldA,FieldB,FieldX)
Values
('Big','Red','Apple'),
('Big','Red','Orangatang'),
('Small','Red','Cherry'),
('Small','Red','Ladybug')

如果我使用Group by运行Select,如下所示
Select FieldA,FieldB from TableA group by FieldA,FieldB

是否可以从每组的记录中提取所有的FieldA值?理想情况下,我希望输出:
Big    | Red | 'Apple','Orangatang'
Small  | Red | 'Cherry','Ladybug'

SQLFiddle Demo

最佳答案

您可以使用MySQL函数group_concat来执行以下操作:

Select FieldA, FieldB, group_concat(fieldx) as concatenated_field
from TableA
group by FieldA, FieldB

关于mysql - 在MySQL中按值返回分组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36226401/

10-11 02:49