MySQL 组连接行分隔符

MySQL Group concat line separator

在我的 SQL 查询中,我加入了两个表 creatives 和 campaign,然后使用 group_concat。

下面是我的 SQL 查询:

SELECT group_concat(creatives.creative_id) 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;

产生如下结果。您可以看到用逗号分隔的两个广告素材 ID:

我想将 creative_id 的结果分开如下:

我做了一些在线研究,但没有找到任何 GROUP_CONCAT 行分隔符的语法。这个问题还有其他解决方案吗?感谢任何帮助。

现在我对这个查询有了更好的理解,它应该可以解决您的问题。此 JOINs 广告素材到子查询,该子查询提供每个广告系列的总观看次数和点击次数。

SELECT creatives.creative_id AS creative_ids, ctotals.id, creatives.parentId, ctotals.views, ctotals.clicks
FROM creatives
JOIN (SELECT campaigns.id, campaigns.parentID, SUM(creatives.views) as views, SUM(creatives.clicks) as clicks
FROM creatives JOIN campaigns ON campaigns.id = creatives.parentId 
GROUP BY campaigns.id) ctotals on ctotals.parentID = creatives.parentID
SELECT creatives.creative_id 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;