mysql中模糊查询用instr

来源:互联网 发布:苹果淘宝打不开 编辑:程序博客网 时间:2024/04/30 23:58

在mysql中使用内部函数instr,可代替传统的like方式查询,并且速度更快。

instr函数,第一个参数是字段,第二个参数是要查询的串,返回串的位置,第一个是1,如果没找到就是0.

例如,查询字段name中带””的名字,传统的方法是:

select name from 用户表 where name like `%%’;

用instr的方法:

select name from 用户表 where instr(’name‘,‘军’);

或:

select name from 用户表 where instr(’name‘,’军’)>0;



表A  
字段:姓名
  张三
  王五
表B
字段:title  
  信息一 张三发布
  信息二 王五发布
  信息三 张三发布

排行榜,按表A的姓名 like %‘name’% 匹配 表B的 title 的条数进行排序,

select 姓名,count(b.title) from a inner join b on instr(b.title,a.姓名)>0  group by 姓名 order by count(b.title)

原创粉丝点击