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