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;
3条答案
按热度按时间bn31dyow1#
你可以使用这样的函数
split_to_table()
:注意:这不会分割
.
分开。gcuhipw92#
选择companyname,c.value::string作为tablename,lateral flatten(input=>split(columnname,'')c中的split;
这个对我有用。
8ljdwjyq3#
我想你在找这样的东西。请注意,这依赖于分隔符,因此只能基于空格拆分为列。如果你真的想数数
.
你可以添加一个联盟(暂时不评论)