我有一个字符串'ABC〜XYZ〜123'和表1:
1 | XYZ
2 | ABC
3 | XYZ~ABC~AAA
4 | 123~ABC
然后,我通过SQL分割了字符串
Select VALUE FROM STRING_SPLIT('ABC~XYZ~123','~')
返回是
ABC
XYZ
123
例如,我想计算每个单词在拆分后在表1中的存在次数:
预期输出是
ABC|3
XYZ|2
123|1
对此有何想法?
除了注释中的建议之外,还可以如下使用Count()功能。但是以这种格式存储将使您难以提取以及与其他表连接。
Select VALUE, Count(*) as [NoCount] from(
Select Value FROM STRING_SPLIT('ABC~XYZ~123','~')
)a group by Value
您的下一步应该如下所示:
CREATE TABLE Keywords(SplittedWord varchar(255))
INSERT INTO Keywords (SplittedWord) VALUES ('ABC'),('ABC'),('ABC'),('XYZ'),('XYZ'),('123')
select count(*) from Keywords group by SplittedWord