2013-05-02 130 views
0

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

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

  1. 获取所有的广告活动。

    SELECT * FROM campaigns; 
    
  2. 获取活动有多少点击有:

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

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

现在我可以计算出“Avage成本每点击“

"IALT/IALT2" = CPC 

那么就应该说:

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

如何彼此相关的表? – 2013-05-02 13:48:44

+0

他们是3个不同的表格。检查帖子。 – jesper 2013-05-02 13:49:10

+0

我知道,但我怎么知道他们的关系专栏? – 2013-05-02 13:49:50

回答

0
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 

只是猜测,但我想你想这

+0

这会正常工作吗? select * from kampagner C order by ((select SUM(price)from money where short = C.id)/(从aktivitet中选择COUNT(id),其中annonce_id = C.id) desc – jesper 2013-05-02 14:17:35

+0

是的,您可以将sum与数如果是你想要的 – 2013-05-02 14:26:34