首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >最常用的标签- mysql

最常用的标签- mysql
EN

Stack Overflow用户
提问于 2011-03-30 22:53:02
回答 2查看 217关注 0票数 3

我正在写博客。现在我想要显示作者最常使用的标签。标签存储在文章表中的一个名为tags的列中,以komma分隔:

文章表(id | authorid |标签):

1|1|足球运动

2|1|运动,网球,受伤

3|1|运动、高尔夫、受伤

因此,我想显示id为1的作者,并显示他的3个最常用的标记(来自上面显示的文章表)。在这种情况下,这将是:运动,受伤,足球。

这在MySql中是可能的吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-03-30 23:00:48

是的,这是可能的,但更好的答案是引导你进入一个更"Normal“的数据库结构。

你真的需要一个如下的db设置:

Table articles、table tags、table article_tags,其中包含标记的it和分配给它的文章。

然后,您可以通过在article_tags中查找并返回所有tag_id的where article_id = ('X')来查询每个文章('X')的标签。

票数 5
EN

Stack Overflow用户

发布于 2011-03-30 23:13:18

你应该看看database normalization --维基百科的文章非常高级,但是它会给你提供术语,你可以搜索这些术语来找到更多关于这个主题的文章。

基本的想法是你将有另一个表:

代码语言:javascript
复制
table name: tags
columns: id | name

然后有一张表来连接它们:

代码语言:javascript
复制
table name: article_tags
columns: article_id | tag_id

然后,您将在一个查询中join所有数据,以便显示每篇文章的标记名。然后,可以对表进行更高级的查询,以找出文章中使用最多的标签和作者中使用最多的标签。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5487993

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档