Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
文本字段中的词频(MySQL)_Mysql_Mysql Workbench - Fatal编程技术网

文本字段中的词频(MySQL)

文本字段中的词频(MySQL),mysql,mysql-workbench,Mysql,Mysql Workbench,我需要在MySQL中的“Text”类型字段中找到某个单词及其频率。实际上,我在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

我需要在MySQL中的“Text”类型字段中找到某个单词及其频率。实际上,我在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 |
+-------------------------+---------+--------+

你想要的,基本上是一样的,只使用
SPLIT\u STR
而不是
regexp\u SPLIT\u to\u table