现在的位置: 网页制作教程网站制作经验 >正文
SQL语句教程

SQL查询排序:匹配关键词越多就越靠前

发表于2020/5/9 网站制作经验 0条评论 ⁄ 热度 1,925℃

SQL排序需求:

请问如何实现这个功能,模糊搜索一个句子,匹配得单词越多的越靠前

在一个字段里如果我要查询的三个单词都包含的话,不管顺序,那肯定关联性越强,就应该排在最前面。其次包含两个单词的关联性差一点,就排在后面。只包含一个单词的就排最后。搜索出来结果肯定是关联性越强的排在越前面。

匹配关键词越多越靠前的解题思路

可以用replace将关键词依次替换成空字符,得到一个新句子,计算两个句子的长度,差的越多,说明越匹配,就越靠前。查询代码如下:

select table.*,(length(col)-length(replace(col,'ss','')) as ord 
from table order by ord
  • 暂无评论