【问题标题】:Select from 3 tables with calculating从 3 个计算表中选择
【发布时间】:2013-05-02 21:51:36
【问题描述】:

我尝试在 MySQL 中进行查询,从 3 个表中获取数据,并在 2 个表中进行计算。但我真的不知道该怎么做。

我在我的 PHP 代码中有这个来计算“每次点击的平均成本”:

  1. 获取所有广告系列。

      SELECT * FROM campaigns;
    
  2. 获取广告系列的点击次数:

    select SUM(id) as IALT2 from aktivitet where annonce_id = '@@CAMPAIGN_ID' group by ip");
    
  3. 获取所有行的总收入

    SELECT SUM(price) as IALT from money where ad = '@@CAMPAIGN_ID' group by id
    

现在我可以计算“平均每次点击费用”

 "IALT / IALT2" = CPC

那么它应该说:

select * from campaign order by CPC desc limit 0,1

【问题讨论】:

  • 表是如何相互关联的?
  • 它们是 3 个不同的表。检查帖子。
  • 我知道,但是我怎么知道他们的关系栏?
  • @JW 可能与 CAMPAIGN_ID 类似 (annonce_id, ad 和第一个未知 :/)

标签: php mysql


【解决方案1】:
select * from campaigns C
order by
(
    (select SUM(price) from money where ad = C.CAMPAIGN_ID)
    /
    (select SUM(id) from aktivitet where annonce_id = C.CAMPAIGN_ID)
)desc limit 0,1

只是猜测,但我认为你想要这个

【讨论】:

  • 这能正常工作吗? select * from kampagner C order by ((select SUM(price) from money where short = C.id)/(select COUNT(id) from aktivitet where annonce_id = C.id)) desc
猜你喜欢
  • 1970-01-01
  • 2019-02-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-07
  • 2016-07-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多