2011-04-21 145 views
2

嘿傢伙。這是我的它是如何工作表:計算另一張表的匹配記錄的一個記錄表

enter image description here

我希望能夠計算的看法是,在另一個表一致的記錄數(觀點是唯一包含用戶的IP),用於記錄,對比如我做了GET請求和SQL查詢就會發現比賽和計數的已收集每個記錄視圖數,所以它會顯示這樣的事情:

GET查詢:stack

顯示:

record_id | keyword | total_views 
---------------------------------------------------- 
     2  |  stack  |   2 
---------------------------------------------------- 
     5  |  stack  |   1 

正如你可以看到表中有2意見爲record_id21視圖record_id5,等等。你明白我的意思嗎?我很難知道如何做到這一點。

乾杯。

回答

4
SELECT r.*, COUNT(v.record_id) 
FROM records r 
LEFT JOIN 
     views v 
ON  v.record_id = r.record_id 
WHERE r.keyword = 'stack' 
GROUP BY 
     r.record_id 

創建以下指標:

records (keyword, record_id) 
views (record_id) 

這種工作速度快。

+0

優秀,作品相當不錯。 – MacMac 2011-04-21 15:02:57

0
select `record_id`, `keyword`, count(*) as `total_views` 
     from `views` join `records` using (`record_id`) 
     where `keyword`='stack' 
     group by `record_id` 
相關問題