MySQL の find_in_set 関数を使用して複数の文字列を検索します
MySQL の find_in_set() 関数を使用すると、カラムに格納された文字列セット内の特定の文字列を検索できます。ただし、単一の検索文字列を使用してのみ検索できます。
チャレンジ: 複数の文字列を使用して検索
文字列のセット内で複数の文字列を検索する必要がある状況が発生する場合があります。たとえば、顧客が特定のカテゴリに属する特定の製品を購入したかどうかを確認したい場合があります。この場合、find_in_set() を使用するだけでは十分ではありません。
複数文字列検索を実装するための find_in_set() のシミュレーションのヒント
find_in_set() を使用して複数文字列検索をシミュレートする回避策があります:
正規表現の説明:
例:
次のクエリを考えてみましょう:
<code class="language-sql">SELECT * FROM table WHERE CONCAT(",", `product_set`, ",") REGEXP ",(electronics|clothing|accessories),";</code>
このクエリでは、product_set 列に顧客が購入した製品のカンマ区切りリストが含まれています。 REGEXP 式は、コレクションに「electronics」、「clothing」、「accessories」の 3 つの検索文字列のいずれかが含まれているかどうかをチェックします。
以上がMySQL 列内の複数の文字列を効率的に検索するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。