多关键字模糊查询后进行匹配排序显示的问题。问题描述:数据库中某表(article表)有五条记录,标题(title)如下:
1、上海哪有好吃的川菜?
2、想吃川菜了,哪里有?
3、请告诉我上海徐家汇地区好吃的川菜?
4、什么东西最好吃?
5、上海的天气怎么样?待搜索的多关键字为:上海 徐家汇 川菜可以看到:
第一条记录的标题可以匹配到两个关键字,“上海 川菜”;
第二条记录的标题可以匹配到一个关键字,“川菜”;
第三条记录的标题可以匹配到三个关键字,“上海 徐家汇 川菜”;
第四条记录的标题不能匹配到任何一个关键字;
第五条记录的标题可以匹配到一个关键字,“上海”;那么,在显示查询结果的时候,要求按对关键字匹配数,由多到少排列显示,即按如下的顺序显示:搜索“上海 徐家汇 川菜”,结果如下:3、请告诉我上海徐家汇地区好吃的川菜?
1、上海哪有好吃的川菜?
2、想吃川菜了,哪里有?
5、上海的天气怎么样?
(其中2和5的顺序没有关系,因为它们都只能匹配到一个关键字)这样就能把最匹配查询关键字的结果放在前面显示,由多到少,而只能匹配到其中任何一个关键字的记录放在后在显示。请问用纯SQL语句怎么实现这样的需求,不能用存储过程和临时表等其它方法。
1、上海哪有好吃的川菜?
2、想吃川菜了,哪里有?
3、请告诉我上海徐家汇地区好吃的川菜?
4、什么东西最好吃?
5、上海的天气怎么样?待搜索的多关键字为:上海 徐家汇 川菜可以看到:
第一条记录的标题可以匹配到两个关键字,“上海 川菜”;
第二条记录的标题可以匹配到一个关键字,“川菜”;
第三条记录的标题可以匹配到三个关键字,“上海 徐家汇 川菜”;
第四条记录的标题不能匹配到任何一个关键字;
第五条记录的标题可以匹配到一个关键字,“上海”;那么,在显示查询结果的时候,要求按对关键字匹配数,由多到少排列显示,即按如下的顺序显示:搜索“上海 徐家汇 川菜”,结果如下:3、请告诉我上海徐家汇地区好吃的川菜?
1、上海哪有好吃的川菜?
2、想吃川菜了,哪里有?
5、上海的天气怎么样?
(其中2和5的顺序没有关系,因为它们都只能匹配到一个关键字)这样就能把最匹配查询关键字的结果放在前面显示,由多到少,而只能匹配到其中任何一个关键字的记录放在后在显示。请问用纯SQL语句怎么实现这样的需求,不能用存储过程和临时表等其它方法。
解决方案 »
- 项目的业务流程
- 想做一个网站实现网上交易的,怎么连接到银行接口,有没有例子
- 关于用户并发访问、注册等问题??????在线等!!!
- 关于简单的JAVA的问题
- netbeans与tomcat的问题,高手请进
- 谁研究过jasperreports-0.5.2-project的报表制作包,如何修改显示PDF的中文呢?
- 超连接连JSP的问题
- 100分急寻mssql6.5的jdbc驱动!!!!各位兄弟帮帮忙!!
- 第一次使用weblogic,出现错误,请指教
- ERROR ContextLoader:215 - Context initialization failed
- 请教:java中的三维坐标图用什么工具画,怎么画?
- hibernate 中使用 dual 求助
或者lucene
select name from table where name like'%上海%' or name like'%徐家汇%' or name like'%川菜%'
看看行吗
-------------
那你怎么判断匹配关键字的次数?