SQL的帖子顶部标签
问题描述:
我正在使用MySQL数据库,并期待从我的博客捕获顶部标签。该表是这样的:SQL的帖子顶部标签
++++++ post_tags ++++++ + id INT(10) + + post_id INT(10) + + tag_id INT(10) + +++++++++++++++++++++++ ++++++++ tags +++++++++ + id VARCHAR(10) + + title VARCHAR(50) + + uri VARCHAR(75) + +++++++++++++++++++++++
我想通过分组从那么post_tags表抓住了前5名参赛人数的POST_ID抢在数据库中的顶部标签。它看起来像这样:
Green 157 Water 92 Rocks 88 Purple 53 Sky 44
在此先感谢您。
答
SELECT TOP 5 tags.title, COUNT(*) AS num_posts
FROM tags
INNER JOIN post_tags ON tags.id = post_tags.tag_id
GROUP BY tags.title
ORDER BY COUNT(*) DESC
此查询将忽略没有帖子的标签。如果您想要包含它们,请使用LEFT OUTER JOIN
。