我想知道是否可以查询标签表来查找经常一起使用的标签。
我有一个 mysql 数据库,有 2 个表、文本和标签。标签是从文本中提取的关键字。表“tags”有 3 列 id、tag 和 text_id。我已经在 sql fiddle 上放了一个示例
http://sqlfiddle.com/#!2/20504/1
我喜欢查询此表以发现“ clown ”和“ bat 侠”通常一起使用(尽管并非总是如此)。
感谢任何帮助!
最佳答案
您可以使用自连接来计算所有对的共现:
SELECT t1.tag as tag, t2.tag as tag2, count(*)
FROM tags t1 join
tags t2
on t1.text_id = t2.text_id and t1.tag < t2.tag
GROUP BY t1.tag, t2.tag
ORDER BY count(*) desc;
如果您只想要最常同时出现的对,那么您可以将 limit 1
添加到查询中。
关于mysql - 查找经常一起使用的标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25409203/