单词计数与雪花中出现的次数

xdnvmnnf  于 2021-07-29  发布在  Java
关注(0)|答案(3)|浏览(331)

如何使用snowflake查找字符串中出现的次数和它们的计数?
喂,你好吗。
预期输出应为

word count(*) 
Hello 3 
How 1 
are 1 
you 1 
.   1
bn31dyow

bn31dyow1#

你可以使用这样的函数 split_to_table() :

select value
from table(split_to_table('Hello Hello Hello how are you.', ' ') as s
group by value;

注意:这不会分割 . 分开。

gcuhipw9

gcuhipw92#

选择companyname,c.value::string作为tablename,lateral flatten(input=>split(columnname,'')c中的split;

select count(*),split_ans from tempcompany1 group by split_ans order by 1 desc

这个对我有用。

8ljdwjyq

8ljdwjyq3#

我想你在找这样的东西。请注意,这依赖于分隔符,因此只能基于空格拆分为列。如果你真的想数数 . 你可以添加一个联盟(暂时不评论)

create or replace temporary table test as
select 'hello hello hello how are you.' as txt

select value as txt, count(*) as cnt
from test, lateral split_to_table(test.txt, ' ')
group by value
--union all
--select '.', length(txt)-length(replace(txt,'.',''))
--from test;

相关问题