使用mysql确定流行的标签?

时间:2011-01-28 23:33:19

标签: php mysql tags

我有两张桌子:

posts{id,post,tag_id,date}
tags{id,tag,date}

我想检索过去12小时内使用过的表格中最常用的标签。

¿我怎样才能做到这一点?
感谢。

2 个答案:

答案 0 :(得分:2)

要从过去12小时开始按降序排列最受欢迎的代码,您可以执行以下操作:

SELECT tag  
FROM tags 
WHERE id IN (
    SELECT tag_id FROM posts WHERE date >= SUBTIME(NOW(), '12:00:00')
)
ORDER BY COUNT(id) DESC

答案 1 :(得分:2)

我认为这应该有效:

SELECT tags.tag, count(*) AS count
    FROM posts INNER JOIN tags
    ON (posts.tag_id = tags.id)
    WHERE posts.date >= SUBTIME(NOW(), '12:00:00')
    GROUP BY tags.id
    ORDER BY count(*) DESC

我测试了3个帖子,其中'SQL'作为标签在12h内创建,2个帖子以'PHP'作为标签,但其中只有一个在12h内创建。然后上面的查询返回:

tag count
SQL 3
PHP 1