多个关键字的匹配度查询有关问题,求SQL语句
搜索的时候,如果关键字是2个以上的话,怎么样才能按匹配程度来排序呢?
就是说符合的关键字越多,显示就越靠前~~
我想了个笨办法,不知道行不行
|
多个关键字的匹配度查询问题,求SQL语句 搜索的时候,如果关键字是2个以上的话,怎么样才能按匹配程度来排序呢? 就是说符合的关键字越多,显示就越靠前~~ 我想了个笨办法,不知道行不行,就是计数mssql 按关键字排序,符合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 (编辑:天瑞地安资讯网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- ORA-00900:无效的SQL语句 – 在oracle 10g中运行过程时
- entity-framework-4 – 如何使用SQL Compact 4首先使用Enti
- 使用.NET或MS SQL模拟MySql的密码()加密
- sql – 为什么以下连接会显着增加查询时间?
- 什么是SQL数据库备份文件的典型压缩率?
- 在SQL查询中将别名命名为汇总?
- sql – 选择除一个字段外的所有字段?
- sql-server – 从非sysadmin域用户拥有的SQL Agent作业运行
- sql-server – uncoditioned Count(*)vs System表
- sql – 删除基于列上相同值的重复记录并保持最新


