我有一个用户输入他们兴趣的数据库.我想找到兴趣相符的人.
兴趣表的结构是
interestid | username | hobby | location | level | matchinginterestids
让我们两个用户保持简单.
我想做以下算法
我想我需要的是某种for循环,它将循环遍历所有joe的片段,然后每次在兴趣数据库中找到匹配时进行更新.这在MySQL中甚至可能吗?
进一步举例:
我是丹.我有3个兴趣.每个兴趣由3个科目组成:
其他人可能有其他兴趣
现在,当我以Dan身份登录时,我希望查询返回以下内容:
以下是您的兴趣匹配:
---有兴趣猫营养头发
Joe对猫和营养
感兴趣Joe和Moe对superlens,dna,显微镜
感兴趣Moe对电影感兴趣
查询需要遍历Dan的所有兴趣,并比较3,2,1个主题匹配.
我可以从循环中在php中执行此操作,但它会一直调用数据库来获取结果.我想知道是否有一种狡猾的方式使用单个查询来完成它或者可能是3个单独的查询,一个查找3个匹配,一个用于2,一个用于1.