0

我有 4 张桌子:

  1. 广告(id,...)
  2. 网站(ID,标题,URL,...)
  3. 空间 (id, website_id, ...)
  4. ad_space_counter(id、ad_id、website_id、space_id、impression_counter、click_counter)

一个网站可能有 2 或 3 个分配给它的空间。

现在我希望实现的是做一个 SELECT 并获得以下内容:

  1. ad_id
  2. website_id
  3. URL(来自网站表)
  4. 标题(来自网站表)
  5. 印象计数器(但分配给该特定 website_id 的所有空间的总和)
  6. click_counter(但分配给该特定 website_id 的所有空间的总和)

因此,如果我们有 ad_id = 1 和 website_id = 1 但有 3 个空间且 website_id = 1 则 ad_space_counter 将生成 3 个条目,每个条目都有自己的特定展示和点击计数器。此 SELECT 必须获得所有这些的总和并在一个结果中显示它。

谢谢。

4

1 回答 1

0

请尝试使用以下内容,请注意列列表中未包含列“ad_id”。所以下面的查询可以被认为是网站的统计数据。

select 
       a.website_id,
       website.url,
       website.title,
       sum(a.impression_counter) as impression_counter,
       sum(a.click_counter) as click_counter
from ad_space_counter a, 
     ad,
     website
     space
where ad.id = a.ad_id
   and website.id = a.website_id
   and space.id = a.space_id
group by 
       a.website_id,
       website.url,
       website.title
于 2013-11-11T14:19:44.257 回答