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

列'Users.Reputation‘在select列表中无效,因为它既不包含在聚合函数中,也不包含在GROUP BY子句中
EN

Stack Overflow用户
提问于 2020-05-17 10:54:52
回答 1查看 36关注 0票数 0

我正试着按照我所问的问题的数量来对用户进行排名。

列'Users.Reputation‘在select列表中无效,因为它既不包含在聚合函数中,也不包含在GROUP BY子句中。

这是代码https://data.stackexchange.com/stackoverflow/query/1239556/users-with-most-questions#resultSets

代码语言:javascript
复制
select count(OwnerUserId),OwnerUserId,Reputation,DisplayName
from Posts
left join Users on Users.Id = OwnerUserId
where PostTypeId=1
group by OwnerUserId 
order by count(OwnerUserId) desc;
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-17 11:14:27

错误似乎很明显:您需要在GROUP BY中包含所有非聚合列。

代码语言:javascript
复制
select count(u.id), p.OwnerUserId, u.Reputation, u.DisplayName
from Posts p left join
     Users u
     on u.Id = p.OwnerUserId
where p.PostTypeId = 1
group by p.OwnerUserId, u.Reputation, u.DisplayName 
order by count(*) desc;

我会注意到,这在我看来很尴尬;我不认为LEFT JOIN是必要的。您只需在GROUP BYSELECT中使用GROUP BY

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61850627

复制
相关文章

相似问题

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