首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >列'city.POPULATION‘在选择列表中无效,因为它既未包含在聚合函数中,也未包含在GROUP BY子句中

列'city.POPULATION‘在选择列表中无效,因为它既未包含在聚合函数中,也未包含在GROUP BY子句中
EN

Stack Overflow用户
提问于 2014-11-20 17:24:35
回答 1查看 47关注 0票数 0

我正在创建一个查询,我看到了这个错误消息。这是我试图执行的查询:

代码语言:javascript
复制
select D.ID_city
,      D.ID_year
,      D.NB_deaths
,      D.NB_births_M
,      D.NB_births_F
,      D.NB_population_AS
,      D.NB_population_ACL
,      COUNT( NB_births_M+ NB_births_F)/C.population as  Birthrate
,      COUNT(NB_deaths_M + NB_deaths_F) as Mortality
from   Demography D 
join   region C
on     (D.Id_city =C.Id_city)
group
by     D.ID_city
,      D.ID_year
,      D.NB_deaths_M
,      D.NB_births_M
,      D.NB_births_F
,      D.NB_population_AS
,      D.NB_population_ACL
EN

回答 1

Stack Overflow用户

发布于 2014-11-20 17:29:12

您应该在group by中包含c.population,因为您在count聚合函数之外使用该列:

代码语言:javascript
复制
COUNT( NB_births_M+ NB_births_F)/C.population

使用这个(也添加了D.NB_deaths_F,因为它也是必要的):

代码语言:javascript
复制
select D.ID_city
,      D.ID_year
,      D.NB_deaths
,      D.NB_births_M
,      D.NB_births_F
,      D.NB_population_AS
,      D.NB_population_ACL
,      COUNT( NB_births_M+ NB_births_F)/C.population as  Birthrate
,      COUNT(NB_deaths_M + NB_deaths_F) as Mortality
from   Demography D 
join   region C
on     (D.Id_city =C.Id_city)
group
by     D.ID_city
,      D.ID_year
,      D.NB_deaths_M
,      D.NB_deaths_F -- <-- added
,      D.NB_births_M
,      D.NB_births_F
,      D.NB_population_AS
,      D.NB_population_ACL
,      C.population -- <-- added
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27035916

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档