Получение наиболее часто используемых слов из столбца строк в SQL
Итак, мы имеемэта база данных заполнен кучей строк, в этом случае заголовки сообщений.
Что я хочу сделать, это:
Разделить строку на словаПосчитайте, сколько раз слова появляются в строкахДай мне 50 лучших словНет этого таймаута в запросе data.seЯ пытался использовать информацию изэтот ТАК вопрос адаптирован к data.se следующим образом:
select word, count(*) from (
select (case when instr(substr(p.Title, nums.n+1), ' ') then substr(p.Title, nums.n+1)
else substr(p.Title, nums.n+1, instr(substr(p.Title, nums.n+1), ' ') - 1)
end) as word
from (select ' '||Title as string
from Posts p
)Posts cross join
(select 1 as n union all select 2 union all select 10
) nums
where substr(p.Title, nums.n, 1) = ' ' and substr(p.Title, nums.n, 1) <> ' '
) w
group by word
order by count(*) desc
К сожалению, это дает мне массу ошибок:
'substr' не является распознанным именем встроенной функции. Неверный синтаксис рядом с '|'. Неверный синтаксис рядом с 'nums'.
Итак, учитывая столбец строк в SQL с переменным количеством текста в каждой строке, как я могу получить список наиболее часто используемых слов X?