1. 程式人生 > >mysql中模糊查詢用instr

mysql中模糊查詢用instr

在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)