Häufig verwendete Wörter aus einer Zeichenfolgenspalte in SQL abrufen
Also haben wirdiese Datenbank mit ein paar Strings gefüllt, in diesem Fall Post-Titel.
Was ich machen möchte ist:
Split die Zeichenfolge in WörterZählen Sie, wie oft Wörter in Strings erscheinen.Gib mir zu den Top 50 WörternDiese Zeitüberschreitung ist in einer data.se-Abfrage nicht enthalten.Ich habe versucht, die Informationen von @ zu verwendediese SO Frage wie folgt an data.se angepasst:
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
Leider gibt mir dies eine Reihe von Fehlern:
'substr' ist kein erkannter eingebauter Funktionsname. Falsche Syntax in der Nähe von '|'. Falsche Syntax in der Nähe von 'nums'.
Wie erhalte ich eine Liste der am häufigsten verwendeten X-Wörter, wenn in SQL eine Zeichenfolgenspalte mit einer variablen Textmenge in jeder Zeichenfolge angegeben ist?