首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何选择两个以上的匹配?

如何选择两个以上的匹配?
EN

Stack Overflow用户
提问于 2010-09-23 15:20:14
回答 2查看 55关注 0票数 2

我很难想出这个主意。非常感谢您的输入。内容总是在变化,但下面是我试图做的一个例子。

故事1(关键词: 5,9,17,18,25,22)

故事2(关键词: 5、25、16、19、32)

故事3(关键词: 1、9、17)

故事4(关键词: 25、22、16、3、17)

现在,我正在根据故事1查询,我想输出任何与故事1共享>= 2关键字的故事。

对于这个例子,我的代码应该输出:

故事1

故事2

故事4

故事2分享关键词5,25

故事4分享关键词25,22,17

故事3的输出并不仅仅是因为它只与故事1共享1关键字。

有什么想法吗?

EN

回答 2

Stack Overflow用户

发布于 2010-09-23 15:31:58

类似的东西(没有测试)

代码语言:javascript
运行
复制
SELECT k2.story_id
FROM keywords k1 
     JOIN keywords ks ON k1.keyword = k2.keyword AND k1.story_id < k2.story_id
GROUP BY 
     k1.story_id
WHERE 
     k1.story_id = @story_id
HAVING COUNT(*) > 1

可能对你有用。

票数 1
EN

Stack Overflow用户

发布于 2010-09-23 15:48:08

您可以通过SQL来完成它,正如“无故”所显示的那样,它也很容易从PHP中完成。只需让每个故事成为一个关键字数组,并使用array_intersect(story_1, story_n)。结果数组有两个以上的项。

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

https://stackoverflow.com/questions/3779862

复制
相关文章

相似问题

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