【发布时间】:2021-02-01 01:38:32
【问题描述】:
我有一个看起来像这样的表:
Name Year Value
A 2000 5
A 2001 3
A 2002 7
A 2003 1
B 2000 6
B 2001 1
B 2002 8
B 2003 2
用户可以根据年份范围进行查询,会返回按Name分组的Value之和,如上(假设查询年份为2000-2001):
Name SUM(Value)
A 8
B 7
现在,我想插入一个计算字段,该字段输出所有年份每个名称的值之和与所有值之和的比率。基本上是分别归因于 A 和 B 的所有值的百分比,例如:
Name SUM(Value) % Of Total
A 8 0.484 (16 / 33)
B 7 0.516 (17 / 33)
请注意,即使用户只查询了 2000-2001 年,我希望计算使用所有年份的总和。我已经搜索和试验了几个小时,但我不知道怎么做。我只知道如何对查询的年份进行总结:
SELECT `Name`, SUM(`Value`)/(SELECT SUM(`Value`) FROM `table1`) AS "% of Total"
FROM `table1`
WHERE `Year` BETWEEN 2000 AND 2001
GROUP BY `Name`;
【问题讨论】:
标签: mysql