gpt4 book ai didi

sql - 在 SQL 中计算文档频率

转载 作者:行者123 更新时间:2023-11-29 13:01:54 27 4
gpt4 key购买 nike

如何使用SQL计算文档频率?

文档频率是术语出现的文档(行)数,而不是术语的总数(即术语频率)。

我可以这样计算词频:

create table countries (
iso char(2) primary key,
name text not null unique
);

insert into countries values
('GS', 'South Georgia and the South Sandwich Islands'),
('ZA', 'South Africa');

select
term
, count(*) as term_frequency
from
countries
, regexp_split_to_table(name, '[^\.\w]') term
where
term <> ''
group by
term;

但是我不太确定如何获取文档频率(对于“South”应该是 2 而不是 3)。

输出应该是这样的:

term     document_frequency
---------------------------
South 2
Georgia 1
and 1
the 1
Sandwich 1
Islands 1
Africa 1

最佳答案

因此计算每个术语的不同文档的数量:

select term, count(DISTINCT iso) as doc_frequency
from countries
, regexp_split_to_table(name, '[^\.\w]') term
where term <> ''
group by term;

关于sql - 在 SQL 中计算文档频率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27260847/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com