【问题标题】:Calcalate term frequency in MYSQL?计算MYSQL中的词频?
【发布时间】:2014-04-06 23:32:02
【问题描述】:

仍然有这个问题!

我在 SQL 中有一个包含 4 个字段的表:FILEID、SENTENCEID、WORDID 和 WORD。

我用给定的文件编号排列所有文件,在每个文件下我给每个句子一个唯一的编号,在每个句子下,我给每个单词分配一个唯一的编号,如图所示。

我正在尝试计算一个单词在每个文档中出现的次数。我只知道如何计算一个术语在此表中总共显示的次数。谁能建议如何根据 FILEID 计算?非常感谢。 Below 是我的桌子。

这是我当前的查询:

SELECT WORD, COUNT(*) FROM (SELECT WORD FROM ASSIGNMENT2 GROUP BY FILEID);

【问题讨论】:

  • 如果没有看到您的数据库架构,这很难回答。另外,“术语”和“文档”到底是什么意思?
  • 这是多个文件的集合。图中的FILEID代表不同的文件。术语是词的意思。在一个句子中,每个单词都有一个唯一的 ID,从 1、2、3、4、... 句子结束后,我将 1、2、3...重新分配给新句子中的单词。
  • 好的。那么我的理解是否正确,您试图找出特定单词在特定文件中出现的次数?
  • 不,我正在尝试列出所有单词的列表,其中包含单词 | 的信息文件ID | FREQUENCY(在这个文件中出现的次数)。

标签: oracle-sqldeveloper frequency


【解决方案1】:

我会说:

select FILEID, WORD, count(WORD) from ASSIGNMENT2 group by FILEID, WORD

【讨论】:

    猜你喜欢
    • 2021-02-28
    • 2011-02-22
    • 1970-01-01
    • 1970-01-01
    • 2015-04-04
    • 1970-01-01
    • 2016-06-21
    • 2015-01-07
    • 2019-04-19
    相关资源
    最近更新 更多