从文本字符串中选择最常用的词-SQL

问题描述 投票:0回答:1

我无法在类似的询问中找到对此问题的答案。

我在Periscope数据上使用MySQL。

当我搜索:

SELECT texter_survey_response_value.value
FROM texter_survey_response_value
WHERE question_id = '66'

我在表格中列出了对问题的所有答复。每个响应都是一串文本。

我想从此字符串中选择最常用的单词。我找到了一段旨在帮助我完成此操作的代码,但是我不知道我是否正确理解它。我正在努力获取字符串中最常用的单词的列表。它只是不断抛出一个错误,说“您的SQL语法有错误,请检查与您的MySQL服务器版本相对应的手册”。

这是我正在使用的代码。

(SELECT TOP 50 texter_survey_response_value.value, COUNT(*)
FROM texter_survey_response_value
WHERE question_id = 66)
CROSS APPLY dbo.DelimitedSplitN4K(p.Title, ' ') x
WHERE LTRIM(RTRIM(texter_survey_response_value.value)) <> ''
GROUP BY texter_survey_response_value.value
ORDER BY COUNT(*) DESC

我希望有人可以指出正确的方向?谢谢,

sql sql-server string frequency
1个回答
0
投票

您的代码看起来像SQL Server。如果是这样,则最新版本支持string_split()

SELECT s.value as word, COUNT(*)
FROM texter_survey_response_value tsrv CROSS APPLY
     string_split(svrv.Title, ' ') s
WHERE tsrv.question_id = 66
GROUP by s.value
ORDER BY COUNT(*) DESC;

在早期版本中,您可以在网上找到一个字符串分割器。

© www.soinside.com 2019 - 2024. All rights reserved.