寻找常用的标签

时间:2014-08-20 15:52:12

标签: mysql sql

我想知道是否可以查询标签表以找到通常一起使用的标签。

我有一个包含2个表,文本和标签的mysql数据库。标签是从文本中提取的关键字。表格标签'有3列id,tag和text_id。我在sql小提琴上放了一个样本

http://sqlfiddle.com/#!2/20504/1

我喜欢查询此表以找到" joker"和#34;蝙蝠侠"通常一起使用(虽然不总是)。

感谢任何帮助!

1 个答案:

答案 0 :(得分:2)

您可以使用自联接来计算所有对的共现:

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添加到查询中。