MySql - 查询以获取上下文结果

时间:2013-11-17 19:47:04

标签: mysql sql


我有一个很好的小脑筋预告片,真的希望有人可以帮助我。
我有下表:

  

ID -------------------相关性   1 -------------------- 2,3,4,5,7
  2 -------------------- 1,3,5,7,9
  3 -------------------- 1,2,4,5,6

我想要做的是编写一个查询,按照与输入列表具有最高相关性的行对结果进行排序:

  

1,5,6

因此,从列表和相关性列提供最多匹配的行进行排序。行ID 3具有最多匹配,具有1,5和6.行ID 2仅具有2个匹配而行ID 1仅具有1个匹配 - 因此在上面的示例中,答案将是:

ROW ID按相关顺序排列

  

ID
  3
  2
  1个

提前谢谢

1 个答案:

答案 0 :(得分:0)

您可以尝试在相关性列上创建FULLTEXT索引,并使用MATCH函数。

SELECT ID FROM myTable WHERE MATCH (relevante) AGAINST ('1 5 6'); 

请注意,我正在使用空格分隔这些术语。我相信使用逗号可以解释为查找确切的字符串“1,5,6”。