语法:group_concat( [distinct] 要连接的字段 [order by 排序字段 asc/desc ] [separator '分隔符'] )
说明:通过使用distinct可以排除重复值;如果希望对结果中的值进行排序,可以使用order by子句;separator是一个字符串值,缺省为一个逗号。
举例说明:
现有一个用户表user
id, name
一个标签表tag
id, name
一个用户和标签的关联表tag_entity
id, fk_tag_id, fk_entity_id
需求是查询出用户下的所有tag,空格分开
select
u.id, u.name, group_concat(t.name ORDER BY ta.name separator ' ') as tagName
from user u
left join tag_entity te on te.fk_entity_id = u.id
left join tag t on t.id = te.fk_tag_id
group by u.id