SQLで文字列の出現回数を調べる
photo credit: Illustrious company via photopin (license)
SQLで、テーブル内の文字列フィールドから、特定のキーワードの出現回数を得る方法です。
チョット考えただけでは無理だと思っておりましたが、ミソは置換と文字数でした。
全体文字数から、キーワードを削除した後の文字数を引いて、キーワードの文字数で割れば、出現回数になるんですね。
/* * [MySQL]テーブルtblのカラムcolから、キーワード '自転車' の出現回数を得る */ SET @keyword:='自転車' SELECT (LENGTH(col) - LENGTH(REPLACE(col, @keyword, ''))) / LENGTH(@keyword) AS CNT FROM tbl
目からウロコでした。なんか楽しい。
関連記事:
MariaDB & MySQL全機能バイブル
posted with amazlet at 15.03.28
参考サイト:
この記事は、以下の記事に加筆修正したものです。