大家好!
我有 3 个表:
topics
(id*, title, body)
tags
(id*,name)
topic_tags
(topic_id,tag_id)
每个主题都有一些标签。我想仅基于标签(而不是基于主题的标题和正文)找到与另一个主题“最相关”的主题。
如果 2 个主题有更多的共同标签,则它们更相关。我想按相似性(= 常用标签的数量)以某种方式对结果进行排序。
你有什么建议?
最佳答案
SELECT tr.*
FROM topic t
JOIN topic_tag tt
ON tt.topic_id = t.id
JOIN topic_tag ttr
ON ttr.tag_id = tt.tag_id
JOIN topic tr
ON tr.id = ttr.topic_id
WHERE t.id = $topicid
GROUP BY
tr.id
ORDER BY
COUNT(*) DESC
关于Mysql,类似主题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6791840/