如何让mysql一直select_MySQL – 如何根据另一个SELECT的值进行选择

用户询问如何在SQL中计算特定年份范围内(例如2000-2001年)各个名称(A和B)的值总和占所有值总和的百分比。当前查询只能获取指定年份的占比,但用户希望得到基于所有年份的数据。寻求解决方案以在查询中考虑所有年份的数据。
摘要由CSDN通过智能技术生成

我有一张看起来像这样的桌子:

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,所以请澄清任何高级代码。谢谢你的好意

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值