计算一个记录表以匹配另一个表的记录

时间:2011-04-21 14:45:00

标签: php mysql count jointable

嘿伙计们。这是我的工作表:

enter image description here

我希望能够计算视图的数量(视图是唯一的,包含用户的IP),用于匹配另一个表中的记录的记录,例如我做GET请求和SQL查询将找到匹配项并计算为每条记录收集的视图数量,因此它将显示如下内容:

获取GET查询: stack

显示:

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

正如您在表格中看到的那样2 record_id2 1视图record_id 5视图上。你明白我的意思吗?我很难知道如何做到这一点。

干杯。

2 个答案:

答案 0 :(得分: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)

让它快速工作。

答案 1 :(得分:0)

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