MySQL关联查询中GROUP_CONCAT自定义分隔符技术问询
修改MySQL GROUP_CONCAT的分隔符很简单!
嘿,你只需要给GROUP_CONCAT()函数加上SEPARATOR参数就能自定义分隔符啦——默认的逗号就是因为没指定这个参数才被使用的。
比如你想把分隔符改成竖线|,修改后的完整SQL语句如下:
SELECT group_concat(creatives.creative_id SEPARATOR '|') AS creative_ids, campaigns.id, creatives.creative_id, creatives.parentId, sum(creatives.views), sum(creatives.clicks) FROM campaigns INNER JOIN creatives ON campaigns.id = creatives.parentId GROUP BY campaigns.id;
要是你想用其他分隔符,比如分号;、空格 或者带空格的连字符-,只需要把SEPARATOR后面的字符串换成你想要的内容就行。比如用分号的话就是SEPARATOR ';',用带空格的连字符就是SEPARATOR ' - '。
另外顺便提一句:你的原SQL里GROUP BY campaigns.id,但SELECT列表里还包含了creatives.creative_id和creatives.parentId,这在MySQL的严格SQL模式下可能会触发报错(因为这两个字段既不在GROUP BY子句中,也没有被聚合函数包裹)。如果后续遇到这类问题,可能需要调整SELECT的字段或者修改GROUP BY的内容哦。
内容的提问来源于stack exchange,提问作者Rose
相关产品推荐
相关产品推荐

