将每行的值除以该列的总和

13

我有一个查询,显示带有名称和其相对于所有物品桶的重量的项目。这些桶被细分,因此我想将总重量转换为子类别重量。

在调整前,与整个桶相关的重量如下所示。


在预调整之前,与整个桶相关的重量如下所示。
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)存储为变量,并在每个单独的重量上使用它?

1个回答

37

选择 InvestmentName,Weight / (选择 SUM(Weight) 从 Records) 作为 AdjWeight 从 Records;


1
为什么不能使用partition by或者简单地使用sum(weight)来完成这个任务? - Mithilesh Kumar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接