这个是我的头巾。我有一个贴标签的系统。标签是一个多->多关系的帖子。
问题是,我想选择其他职位的基础上,他们有多少标签匹配当前的一个。
一个快速的视觉示例:

PostA: TagA, TagB
PostB: TagC
PostC: TagA
PostD: TagA, TagB

所以如果我输入邮政编码,它会给我邮政编码。
我真的不知道从哪里开始这个问题,我希望有比我更聪明的人已经遇到这个问题,可以提供一些帮助。

最佳答案

好吧,假设标记的posts表实际上是这样的:

PostA   TagA
PostA   TagB
PostB   TagC
PostC   TagA
PostD   TagA
PostD   TagB

那么你想要
SELECT post FROM tagged_posts
  WHERE post != 'PostA'
  AND tag in (SELECT tag FROM tagged_posts WHERE post = 'PostA')
  GROUP BY post
  ORDER BY COUNT(*) desc

关于php - MySQL到哪里有很多很多匹配项?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11479542/

10-15 18:16