如何修改SQL查询实现按campaign_id汇总统计总内容交付量
SQL查询修改方案
你只需将原查询中分类统计各类型内容的聚合逻辑替换为统计符合条件的总行数即可,修改后的完整查询如下:
SELECT c.campaign_id, COUNT(*) AS `Total content` FROM `public_collaboration_contents` AS cc LEFT JOIN `public_collaborations` AS c ON cc.collaboration_id = c.id LEFT JOIN `public_collaboration_tasks` AS ct ON cc.id = ct.collaboration_content_id WHERE cc.state = 'delivered' AND ct.state = 'delivered' GROUP BY c.campaign_id
补充说明
- 原查询中关联的
public_influencers表未用到任何字段,也没有对应的筛选条件,因此可以直接删除该关联语句,不影响统计结果的同时能提升查询效率。 - 如果你需要避免关联后产生重复行导致统计值偏高,可以将统计逻辑替换为
COUNT(DISTINCT cc.id) AS \Total content``,按唯一内容ID去重统计。
内容的提问来源于stack exchange,提问作者michelle
相关产品推荐
相关产品推荐

