我有两张桌子:
posts{id,post,tag_id,date}
tags{id,tag,date}
我想检索过去12小时内使用过的表格中最常用的标签。
¿我怎样才能做到这一点?
感谢。
答案 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