选择子字符串以空格分隔的列中计数最高的子字符串
问题描述:
如何选择字中空格分隔的列中最常用的字?我使用SQLite作为数据库。选择子字符串以空格分隔的列中计数最高的子字符串
例如,
Column1 Column2
1 Apple Orange Banana
2 Strawberry Apple Pineapple
3 Grape Mango
所需的输出:苹果
答
字计数。假设你的表被称为yourTable。使用公用表表达式(with clause)将Column2拆分为单独的单词。我借了一些知识,从user1461607以及与此想出了:。
WITH RECURSIVE split(word, str, hasspace) AS (
SELECT '', Column2, 1 from yourTable
UNION ALL SELECT
substr(str, 0,
case when instr(str, ' ')
then instr(str, ' ')
else length(str)+1 end),
ltrim(substr(str, instr(str, ' ')), ' '),
instr(str, ' ')
FROM split
WHERE hasspace
)
SELECT trim(word) FROM split WHERE word!='' GROUP BY trim(word) ORDER BY count(*) DESC LIMIT 1
这完美的作品,忽视了“无法分析查询文本”查询生成器警告感谢,但,Visual Studio的查询构建器不断重新安排查询时我再次打开它的查询生成器,但我始终可以将原始查询粘贴到查询生成器中,如果有人知道如何防止这种情况发生,那么我会很感激你如何发布。 – Dog