テーブルに2列あり、総数を「ぎこちなく」報告したいと思います。 MySQLクエリを実行して、列の総数を調べることは可能ですか?Mysql +列内のすべての単語を数えます
基本的には、スペースまたは複数のスペースで区切られた任意のテキストです。 単なる一般的なガイドとして100%正確である必要はありません。
可能ですか?
THX
テーブルに2列あり、総数を「ぎこちなく」報告したいと思います。 MySQLクエリを実行して、列の総数を調べることは可能ですか?Mysql +列内のすべての単語を数えます
基本的には、スペースまたは複数のスペースで区切られた任意のテキストです。 単なる一般的なガイドとして100%正確である必要はありません。
可能ですか?
THX
このような何か試してみてください:
SELECT COUNT(LENGTH(column) - LENGTH(REPLACE(column, ' ', '')) + 1)
FROM table
をこれはあなたのコラムでcaractersの数をカウントし、すべてのスペースを削除し、あなたのコラムにcaractersの数をsubstractsます。ここであなたはあなたの行にいくつのスペースがあるかを知っているので、そこにいくつの単語があるかを知ることができます(二重スペースで入力することもできるので、2単語としてカウントしますが、
少ないラフ数:
SELECT LENGTH(column) - LENGTH(REPLACE(column, SPACE(1), ''))
FROM
(SELECT CONCAT(TRIM(column), SPACE(1)) AS column
FROM
(SELECT REPLACE(column, SPACE(2), SPACE(1)) AS column
FROM
(SELECT REPLACE(column, SPACE(3), SPACE(1)) AS column
FROM
(SELECT REPLACE(column, SPACE(5), SPACE(1)) AS column
FROM
(SELECT REPLACE(column, SPACE(9), SPACE(1)) AS column
FROM
(SELECT REPLACE(column, SPACE(17), SPACE(1)) AS column
FROM
(SELECT REPLACE(column, SPACE(33), SPACE(1)) AS column
FROM tableX
) AS x
) AS x
) AS x
) AS x
) AS x
) AS x
) AS x
+1、深い思想家 – SagarPPanchal
サンプル値を追加して、これが選択した回答より優れていることを示すことはできますか? – tom10271
Countは単にあなたに見つかった行の数を示します。代わりにSUMを使用する必要があります。
SELECT SUM(LENGTH(column) - LENGTH(REPLACE(column, ' ', '')) + 1) FROM table
本当に効果があったインターネット全体の唯一の答え! :) – Gediminas
また、空文字列も1ワードとカウントします。 –
これは本当に幸運なことに、大まかに数が必要だったため、クエリがかなり複雑になります。 –
これは質問された質問に対する良い答えです。しかし、@ RickHoving LENGTH(キーワード) - LENGTH(REPLACE(キーワード、 ''、 '')))+1も同様に仕事をします。私はあなたがなぜそれの上にカウント()を使用したのか知りたいです。ありがとう! – geekidharsh