0

私は大きなテーブルを持っており、列の1つに多くのユーザー(数千行)からのテキスト応答があります。その応答列で特定の単語の出現の総数を見つける必要があります。使用する場合

SELECT count(*) from Table where Response like '%wordtobefound%'

'wordtobefound'を含む行数が表示されますが、すべての行に'wordtobefound'という単語が出現する総数が必要です。

注:データベースに追加して何度も使用できるユーザー定義関数を使用したいと思います。

4

2 に答える 2

0
SELECT SUM(BINARY (LENGTH(field_name) - LENGTH(REPLACE(field_name, "your_word", "")))/LENGTH("your_word")) FROM table_name;
于 2013-02-10T21:14:51.360 に答える
0

これを試して :

SELECT
    CAST((LENGTH(Response) - LENGTH(REPLACE(Response, 'wordtobefound', ""))) / LENGTH('wordtobefound') AS UNSIGNED) AS wordCount
FROM Table

合計には SUM を使用できます。

SELECT
    SUM(CAST((LENGTH(Response) - LENGTH(REPLACE(Response, 'wordtobefound', ""))) / LENGTH('wordtobefound') AS UNSIGNED)) AS wordCount
FROM Table
于 2013-02-10T21:17:11.217 に答える