从连接列中查找所有单词的出现频率

时间:2019-07-02 16:58:38

标签: sql sql-server

我串联了从表中的三列派生的text列。我需要从该连接列中获取所有单个单词的频率。

Column1       Column2   column3
This is       Test       1
This was      Test       two

我需要的是全部三个的串联,即测试1,这是测试2,然后计算每个单词,即。

This - 2
is  - 1
was -1
Test - 2
1- 1
two - 1

1 个答案:

答案 0 :(得分:0)

您可以使用string_split和cross apply获得所需的结果。尝试以下操作:

代码:

declare @tab table (col1 varchar(100), col2 varchar(100), col3 varchar(100))

insert into @tab
select 'This is', 'Test', '1'
union
select 'This was','Test','two'

select value, count(*) rec_count 
from @tab 
cross apply string_split((col1+' '+col2+' '+col3), ' ') 
group by value