我正在使用MySQL数据库并希望从我的博客中捕获顶级标签。该表如下所示:
++++++ 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表中的post_id分组然后获取前5个条目来获取数据库中的top标签。它看起来像这样:
Green 157 Water 92 Rocks 88 Purple 53 Sky 44
提前谢谢。
答案 0 :(得分:0)
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
。