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

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

你可能感兴趣的:(sql)