我很难想出这个主意。非常感谢您的输入。内容总是在变化,但下面是我试图做的一个例子。
故事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关键字。
有什么想法吗?
发布于 2010-09-23 15:31:58
类似的东西(没有测试)
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
可能对你有用。
发布于 2010-09-23 15:48:08
您可以通过SQL来完成它,正如“无故”所显示的那样,它也很容易从PHP中完成。只需让每个故事成为一个关键字数组,并使用array_intersect(story_1, story_n)
。结果数组有两个以上的项。
https://stackoverflow.com/questions/3779862
复制相似问题