MySQL の「テキスト」タイプのフィールドで特定の単語とその頻度を見つける必要があります。実際、Postgres で次のような解決策を見つけました。
SELECT word, count(*)
FROM (
SELECT regexp_split_to_table(some_column, '\s') as word
FROM some_table
)
GROUP BY word
MySQLでそれを行うにはどうすればよいですか?
MySQL の「テキスト」タイプのフィールドで特定の単語とその頻度を見つける必要があります。実際、Postgres で次のような解決策を見つけました。
SELECT word, count(*)
FROM (
SELECT regexp_split_to_table(some_column, '\s') as word
FROM some_table
)
GROUP BY word
MySQLでそれを行うにはどうすればよいですか?
多くの場合、この質問が発生すると、OPはアプリケーションレベルのコードを使用して終了しますが、大雑把に...
SET @needle = 'the';
SET @haystack = 'the taming of the shrew';
SELECT @haystack, @needle, (LENGTH(@haystack)-LENGTH(REPLACE(@haystack,@needle,'')))/LENGTH(@needle)x;
+-------------------------+---------+--------+
| @haystack | @needle | x |
+-------------------------+---------+--------+
| the taming of the shrew | the | 2.0000 |
+-------------------------+---------+--------+