我有一张看起来像这样的桌子:
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
用户可以根据年份的范围进行查询,并返回按名称分组的值的总和(假定查询年份为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`;
请帮忙!我是一个新手,不太了解SQL,所以请澄清任何高级代码。谢谢你的好意