我有问题,我需要使居住在城市的人平均化。在数据库中,我可以找到这样的活豌豆数量
SELECT CityName, (SELECT COUNT(*) from People where City.miestoID =
People.miestoID) as LivingPeople from City
得到这个 http://prntscr.com/p5dbin
现在我需要将城市中的生活豌豆平均化。我尝试
SELECT CityName, (SELECT AVG(COUNT(*) from People where City.miestoID =
People.miestoID)) as LivingPeople from City
我正在使用SSMS。我找不到任何解决方案,但我知道我做错了什么。
答案 0 :(得分:1)
我会做的:
select avg(LivingPeople)
from (
select count(p.miestoID) as LivingPeople
from City c
left join People p on p.miestoID = c.miestoID
) x
答案 1 :(得分:0)
如果您想从查询中求平均值,则必须尝试以下操作
select avg(LivingPeople) from
(SELECT CityName ,(SELECT COUNT(*) from People where City.miestoID =
People.miestoID) as LivingPeople from City
) a
答案 2 :(得分:0)
假设所有城市至少都有一个人,您可以这样做:
select count(*) * 1.0 / count(distinct miestoID);
from people;
* 1.0
是因为SQL Server进行整数除。
这将人数除以城市数。