我有一个很好的小脑筋预告片,真的希望有人可以帮助我。
我有下表:
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个
提前谢谢
答案 0 :(得分:0)
您可以尝试在相关性列上创建FULLTEXT索引,并使用MATCH函数。
SELECT ID FROM myTable WHERE MATCH (relevante) AGAINST ('1 5 6');
请注意,我正在使用空格分隔这些术语。我相信使用逗号可以解释为查找确切的字符串“1,5,6”。