日期:2014-05-16  浏览次数:20521 次

根据生成的关键字模糊查询,并对匹配最多的进行排序

keywords:? 张江 咖啡? 乐活

?

符合条件的加1

比如:

都符合为3

符合2个为2

符合1个为1

符合0个为0

order by 根据3、2、1、0进行排序

?

SELECT m.name

FROM SHOP m

WHERE (m.name LIKE '%张江%' OR '%咖啡%' OR '%乐活%') AND m.status=1

ORDER BY

? (CASE WHEN INSTR(m.name, '张江')>0 THEN 1 ELSE 0 END) +?
? (CASE WHEN INSTR(m.name, '咖啡')>0 THEN 1 ELSE 0 END) +?
? (CASE WHEN INSTR(m.name, '乐活')>0 THEN 1 ELSE 0 END) DESC