Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL组concat行分隔符_Mysql_Group By_Group Concat - Fatal编程技术网

MySQL组concat行分隔符

MySQL组concat行分隔符,mysql,group-by,group-concat,Mysql,Group By,Group Concat,在我的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

在我的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:

我想将两个创意id的结果分开,如下所示:


我在网上做了一些研究,但是我没有找到任何关于组CONCAT行分隔符的语法。这个问题还有别的解决办法吗?非常感谢您的帮助。

现在我对您的问题有了更好的了解,这个查询应该可以解决您的问题。此
creatives连接到一个子查询,该子查询提供每个活动的总视图和单击次数

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

嗨,尼克,我试过你的问题了。在这种情况下,sum(creatives.views)和sum(creatives.clicks)不起作用。我得到了两个单独的creative id记录,但是sum(加法)没有发生。嗨,Rose,你是对的,这将给出按creative_id和campaign id分组的总和(任何campaign_id的行总和将添加到查询中的总和)。为什么要两行都有总和?或者,你为什么要将创意ID分成两行?我想计算每个儿童创意的活动总点击量和浏览量
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;