gpt4 book ai didi

mysql - 选择总和忽略分组依据

转载 作者:行者123 更新时间:2023-11-29 14:22:19 25 4
gpt4 key购买 nike

似乎无法正确调整我的查询;任何帮助将不胜感激。

这是我的查询:

SELECT 
wordlist.Word,
SUM( worddocfreq.Freq ) AS wordFreq
FROM sourceparsed
LEFT JOIN worddocfreq ON sourceparsed.ParsedID = worddocfreq.ParsedID
LEFT JOIN wordlist ON worddocfreq.WordID = wordlist.WordID
WHERE
sourceparsed.SrcID = 30032
GROUP BY
wordlist.Word

这按预期工作,作为示例结果集,我得到两列:第一列是不同单词的列表,第二个是每个单词的频率。

但是,我宁愿调整查询,使第二列改为比例(即每个单词出现次数的总和除以单词总数)。总单词数将由第二列的总和给出,因为它是从上面编写的查询中输出的。

所以,我的问题是我不确定如何计算单词总数的总和,因为查询末尾的“group by”追溯性地强制要求为每个单词计算总和。因此,我不知道如何将第二列除以计算的总和,而不管“分组依据”术语如何。

我感觉需要嵌套选择,但我不确定如何最佳地集成它。

预先感谢您的任何建议。

干杯,

布莱恩

最佳答案

我不确定这是最有效的方法,但请尝试一下:

SELECT 
wordlist.Word,
SUM( worddocfreq.Freq ) / ( SELECT SUM( Freq )
FROM worddocfreq
JOIN sourceparsed ON
sourceparsed.SrcID = sp1.SrcID
AND sourceparsed.ParsedID = worddocfreq.ParsedID
) AS proportion
FROM sourceparsed sp1
LEFT JOIN worddocfreq ON sourceparsed.ParsedID = worddocfreq.ParsedID
LEFT JOIN wordlist ON worddocfreq.WordID = wordlist.WordID
WHERE
sourceparsed.SrcID = 30032
GROUP BY
wordlist.Word

关于mysql - 选择总和忽略分组依据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11568740/

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