gpt4 book ai didi

mysql - 使用多个唯一标识符进行不同 SQL 计数

转载 作者:行者123 更新时间:2023-11-29 11:05:01 28 4
gpt4 key购买 nike

我的公司转换了一系列电视广告,我们正在衡量网站流量变化的影响。我想根据每个广告的费用来确定我们看到的每次 session 的费用。

问题是,此引用的表有重复的数据,因此我当前的cost_per_session计数不正确。

到目前为止我所拥有的:

  • client_net_cleared = 广告费用
  • ad_time、media_outlet 和program = 组合起来是每个广告的唯一标识符
  • diff = 假设由广告生成的 session

.

SELECT DISTINCT tadm.timestamp AS ad_time
, tadm.media_outlet AS media_outlet
, tadm.program AS program
, tadm.client_net_cleared AS client_net_cleared
, SUM(tadm.before_ad_sum) AS before_ad_sessions
, SUM(tadm.after_ad_sum) AS after_ad_sessions
, (SUM(tadm.after_ad_sum) - SUM(tadm.before_ad_sum)) AS diff
, CASE WHEN tadm.client_net_cleared = 0 THEN null
WHEN (SUM(tadm.after_ad_sum) - SUM(tadm.before_ad_sum)) <1 THEN null
ELSE (tadm.client_net_cleared/(SUM(tadm.after_ad_sum) - SUM(tadm.before_ad_sum)))
END AS cost_per_session

FROM tableau.km_tv_ad_data_merged tadm

GROUP BY ad_time,media_outlet,program,client_net_cleared

示例数据:

 ad_time             | media_outlet  | program        | client_net_cleared | before_ad_sessions | after_add_sessions | diff | cost_per_session
---------------------|---------------|----------------|--------------------|--------------------|--------------------|------|-----------------
2016-12-09 22:55:00 | DIY | | 970 | 55 | 72 | 17 | 57.05
2016-12-11 02:22:00 | E! | E! News | 388 | 25 | 31 | 6 | 64.66
2016-12-19 21:15:00 | Cooking | The Best Thing | 428 | 70 | 97 | 27 | 15.85
2016-12-22 14:01:00 | Oxygen | Next Top Model | 285 | 95 | 148 | 53 | 5.37
2016-12-09 22:55:00 | DIY | | 970 | 55 | 72 | 17 | 57.05
2016-12-04 16:13:00 | Headline News | United Shades | 1698 | 95 | 137 | 42 | 40.42

我需要什么:计算 cost_per_session 时仅计算每个广告的一个实例。

编辑:修复了查询,有一个完成了一半的行,在提出问题之前我未能做到这一点。 :)

最佳答案

删除查询第一行SELECT DISTINCT 中的DISTINCT。它在 GROUP BY 查询中没有任何意义。

如果您的行完全重复,请尝试在将表放入 GROUP BY 研磨机之前通过替换对表进行重复数据删除

FROM tableau.km_tv_ad_data_merged tadm

FROM ( SELECT DISTINCT timestamp, media_outlet, program,
client_net_cleared,
before_ad_sum, after_ad_sum
FROM tableau.km_tv_ad_data_merged
) tadm

关于mysql - 使用多个唯一标识符进行不同 SQL 计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41554326/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com