数据库有一系列的数据如:nihao  anihao  bnihao  nihao123.......怎么使用模糊查询出所有数据,并且最匹配的排在最前面。如查询:nihao 查询结果是:nihao anihao  bnihao .......

解决方案 »

  1.   

    select * from table1 where col1 like '%nihao%';这个就可以选出所有记录。
    但“最匹配的排在最前面” 这个比较复杂,首先你要定义什么是最匹配,或者如何计算匹配度。 比如nihao , Anihao, nihaoA, AnihaoA ,Bnihao, nihaoB, BnihaoB 这些如何排序?依旧是什么?
      

  2.   

    select * from table1 where col1 like '%nihao%' order by col1='nihao' desc;