mysqlでinstrを使用したファジイクエリー方法の紹介

933 ワード

mysqlで内部関数instrを使用すると、従来のlike方式のクエリーの代わりに高速になります.
instr関数、最初のパラメータはフィールドで、2番目のパラメータはクエリーする列で、列の位置を返します.1番目は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)
まとめ
以上、mysqlでinstrを用いたファジイクエリー方法について紹介したすべての内容ですが、皆さんの役に立つことを願っています.興味のある方は引き続き当駅を参照してください:MySQLデータ型DECIMAL(N,M)のNとMがそれぞれ表す意味、MysqlのFIND_IN_SET()とINの区別の簡単な分析など、何か問題があればいつでも伝言を残して、編集者はすぐに皆さんに返事します.友达の本駅に対する支持に感谢します!