如何在sql查询访问中计算所有子县的每个县的平均人口?

Posted

技术标签:

【中文标题】如何在sql查询访问中计算所有子县的每个县的平均人口?【英文标题】:How to calculate average population for each county across all sub-counties in a sql query access? 【发布时间】:2015-11-16 20:53:56 【问题描述】:

我有一个表(table1),其中包含:

Sub_county_name,
county_name, 
total_pop(for each sub county)

我想做一个查询,给出每个县在所有子县的平均人口,最好不要加入。

我尝试过的:

SELECT Sub_county_name,county_name,total_pop
FROM table1
WHERE total_pop = (SELECT (SUM(total_pop)/COUNT(county_name)) 
                   FROM table1 a 
                   WHERE a.county_name = table1.county_name);

这运行但只给了我两个条目(有 100 个县)。

能否提示我做错了什么?

【问题讨论】:

我认为您的查询目前仅适用于具有单个子县的县。您需要将 where 子句中的内容向上移动到选择部分,因为您想检索该值,而不是按它过滤。 【参考方案1】:

1) 只需使用 group by 而不是 join。

2) 您可以使用内置的 avg() 函数来获得平均值(mean)。

select county_name, avg(total_pop) from table1 group by county_name

【讨论】:

【参考方案2】:

您只需要对county_name 进行聚合,因此您将忽略sub_county_name。它看起来像这样:

SELECT County_name, Avg(total_pop) AS average_pop 从表 1 按县名分组;

希望有帮助!

【讨论】:

我可以使用相同的代码来计算总体的方差吗?如果可以,使用 Var 还是 VarP 更好? Var 和 VarP 是域函数,与聚合函数略有不同。 Var 和 VarP 不能作为聚合使用(好吧,我不确定,这取决于 Access 的版本),因此您必须使用域函数。 Var 返回字段的样本方差,VarP 返回字段的总体偏差。

以上是关于如何在sql查询访问中计算所有子县的每个县的平均人口?的主要内容,如果未能解决你的问题,请参考以下文章

省市县的下拉列表

在 Python 中使用 for 循环计算元组列表的平均值

使用谷歌地图查找洛杉矶县的所有面包店[关闭]

ARCGIS中怎么样将相邻的两个县合并在一起?且两个县的属性也合并了

我需要美国州和州县的名单[关闭]

查找美国城市所在的美国县的最佳方法是啥?