当前位置: 代码迷 >> Sql Server >> 多个关键字的匹配度查询有关问题,求SQL语句
  详细解决方案

多个关键字的匹配度查询有关问题,求SQL语句

热度:233   发布时间:2016-04-27 19:27:12.0
多个关键字的匹配度查询问题,求SQL语句
搜索的时候,如果关键字是2个以上的话,怎么样才能按匹配程度来排序呢?
就是说符合的关键字越多,显示就越靠前~~
我想了个笨办法,不知道行不行,就是计数,符合1次就加1,最后按计数的大小排序,是不是太笨了……
期待高手解答,谢谢了~

------解决方案--------------------
select * from t where parindex('%中国%',Name)>0 order by rindex('%中国%',Name) asc
------解决方案--------------------
SQL code
declare @a table(a varchar(100))insert @a select '中华人民共和国'insert @a select '中华人民'insert @a select '中国'declare @key table(a varchar(100))insert @key select '中'insert @key select '华'insert @key select '民'insert @key select '国'select a from(select a.a a,sum(case when charindex(b.a,a.a)>0  then 1 else 0 end)  x from @a a,@key b group by a.a)aaorder by x desc
  相关解决方案