首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mysql标签系统

mysql标签系统
EN

Stack Overflow用户
提问于 2012-11-07 22:47:48
回答 1查看 288关注 0票数 2

我需要一些关于mysql查询的帮助

我正在使用wordpresses标签系统和一些我自己设计的表格

这个想法是为了拉回与原始帖子有共同标签的项目列表,我将尽我最大的努力解释

假设您有一篇包含5个标签的帖子: tagA、tagB、tagC等等

我想在mysql上运行一个查询,该查询将拉回一个列表,该列表按其他项目有多少共同的标签排序

我想它会基于与原始帖子相关联的标签计数来创建一个新的专栏。

因此,如果一篇文章有相同的5个标签,我会在新的专栏中看到post_id和5

代码语言:javascript
复制
| post_id | in_common |
-----------------------
|   35    |     5     |
-----------------------
|   109   |     5     |
-----------------------
|   100   |     4     |

诸若此类。

但是我甚至不确定从哪里开始这个查询

标签是用wordpresses表示的,要获得基于单个标签的所有帖子,我可以使用

代码语言:javascript
复制
SELECT * 
FROM wp_posts 
inner JOIN wp_term_relationships ON wp_posts.ID = wp_term_relationships.object_ID 
inner JOIN wp_terms ON wp_terms.term_id = wp_term_relationships.term_taxonomy_id 
WHERE wp_terms.name =  'tax'
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-07 23:02:43

正如你提到的wordpress,我猜你使用的是PHP。因此,我建议使用PHP构建一个逗号分隔(并正确转义)的当前帖子的term_taxonomy_id列表,然后使用类似下面这样的简单查询来获取具有共同标签的所有帖子的列表:

代码语言:javascript
复制
SELECT wp_posts.ID, COUNT(*)
FROM wp_posts
JOIN wp_term_relationships ON wp_posts.ID = wp_term_relationships.object_ID 
WHERE term_taxonomy_id IN ('.$the_list.')
GROUP BY wp_posts.ID
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13272065

复制
相关文章

相似问题

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