我有一个查询,该查询显示名称和相对于整个存储桶项目的权重的项目。这些存储桶是子类别的,因此我想将总重量转换为子类别的重量。

相对于整个铲斗的重量进行的预调节如下所示。

InvestmentName  Weight
Ac              0.01236194
AG              0.04102656
Ca              0.02483226
DF              0.02951128
Ea              0.003295817
GE              0.005415929

这是我很快在Excel中完成的理想结果,现在我无法通过查询来实现。所需的数字总和为1:
InvestmentName  AdjWeight
Ac              0.106162299
AG              0.352329321
Ca              0.213255347
DF              0.253437998
Ea              0.028303932
GE              0.046511104

基本上,这里的任务是将每个条目除以上面第一张表中所有权重的SUM

我试过了:
SELECT InvestmentName, Weight / SUM(Weight) AS AdjWeight FROM Records WHERE = "..."

Access说不能按汇总划分条目。有没有一种方法可以将SUM(Weight)作为变量存储在查询中的某个位置,并在每个单独的权重上使用它?

最佳答案

SELECT InvestmentName, Weight / (SELECT SUM(Weight) FROM Records) AS AdjWeight FROM Records;

关于sql - 将每一行的值除以该列的SUM,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19364751/

10-12 18:54