gpt4 book ai didi

mysql - 博客实现中流行标签的查询是什么?

转载 作者:行者123 更新时间:2023-12-01 00:38:03 25 4
gpt4 key购买 nike

热门标签会查询什么?标签

blog_tags
id name
1 tag1
2 tag2
3 tag3
4 tag4
5 tag5




blog_post_tags
id post_id blog_tag_id
1 1 2
2 2 2
3 1 3
4 3 5
5 4 2



output
tag2
tag3
tag5

我开始这样写查询:

SELECT bt.id, bt.name, bpt.blog_tag_id
FROM
blog_tags bt
RIGHT JOIN
blog_post_tags bpt
ON
bt.id = bpt.blog_tag_id
ORDER BY bt.name ASC

它为我提供了在 blog_post_tags 中使用的标签的输出,但我希望标签根据受欢迎程度进行排序。

最佳答案

只需将 right join 替换为 inner join,并且 group by 标记 id,如下所示:

select bt.name
from blog_post_tags bpt
join blog_tags bt on bpt.blog_tag_id = bt.id
group by bt.id, bt.name -- Edit: fixing for some strict dbs
order by count(bpt.post_id) desc

参见 demo在 sqlfiddle 中。

关于mysql - 博客实现中流行标签的查询是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42643821/

25 4 0