0
算外鍵的出現,我有3個表,內加入2個表,我使用的是MySQL在每個
橫幅(編號,類型,頁面)
點擊(ID,banner_id )
印象(ID,banner_id)
凡banner_id是點擊的外鍵和的展示表。我需要製作這樣
所需的結果表
id, type, clicks_count, impressions_count
性能比較明智的,什麼是最好的MySQL查詢用來實現上述結果行。
算外鍵的出現,我有3個表,內加入2個表,我使用的是MySQL在每個
橫幅(編號,類型,頁面)
點擊(ID,banner_id )
印象(ID,banner_id)
凡banner_id是點擊的外鍵和的展示表。我需要製作這樣
所需的結果表
id, type, clicks_count, impressions_count
性能比較明智的,什麼是最好的MySQL查詢用來實現上述結果行。
只需JOIN
三個表,使用COUNT()
和GROUP BY
:
select id, type, count(c.id) clicks_count, count(i.id) as impressions_count
from banners b
left join clicks c on b.id = c.banner_id
left join impressions i on b.id = i.banner_id
group by id, type
或者使用相關子查詢數:
select id, type,
(select count(*) from clicks c where b.id = c.banner_id) clicks_count,
(select count(*) from impressions i where b.id = i.banner_id) impressions_count
from banners b
但它是如何計算點擊次數?是不是有一個計數在某個地方? – Lukesoft
對不起,沒有仔細閱讀......即將編輯! – jarlh