问题描述
我试图在使用加权平均值的同时找到平均家庭收入。我有一个包含总人口和平均家庭收入的邮政编码数据源。我希望能够选择多个邮政编码,但仍能获得准确的平均家庭收入。
我可以使用 SQL 提取这样的加权平均值吗?
ZIP | TOTAL_POP | AVG_HH_INC |
---|---|---|
12345 | 130350 | 66000 |
54321 | 55750 | 78000 |
44668 | 17300 | 89000 |
解决方法
如果您想要整体平均值,请使用算术:
select sum(total_pop * avg_hh_inc) / sunm(total_pop)
from t;
注意:如果值存储为 4 字节整数,则存在溢出的风险。如果有问题,请使用不同的数字表示。