首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >关于movie.title的SQL查询错误无效

关于movie.title的SQL查询错误无效
EN

Stack Overflow用户
提问于 2019-03-15 04:08:02
回答 2查看 61关注 0票数 1
代码语言:javascript
复制
SELECT TOP(100) M.title, count(WH.movie_id)
FROM Movie AS M 
inner join WatchHistory AS WH ON M.movie_id = WH.movie_id
GROUP BY WH.movie_id, M.title, count(WH.movie_id)
ORDER BY count(WH.movie_id) ASC;

BlockquoteColumn 'Movie.title‘在选择列表中无效,因为它未包含在聚合函数或GROUP BY子句中。

我的任务是执行以下查询:

展示100部到目前为止已经过去的电影。这也意味着0倍的电影标题,观看次数。为此信息需求创建一个视图。

它给出了上面的错误

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-03-15 04:22:09

有很多问题:

GROUP BY

  • Added别名[CountViews]

  • Alias中删除的
  • count(WH.movie_id)ORDER BY中使用,而不是在聚合

中使用

固定SQL:

代码语言:javascript
复制
SELECT TOP(100) M.title, count(WH.movie_id) as [CountViews]
FROM Movie AS M 
inner join WatchHistory AS WH ON M.movie_id = WH.movie_id
GROUP BY M.title
ORDER BY [CountViews] ASC;
票数 1
EN

Stack Overflow用户

发布于 2019-03-15 04:12:32

您应该只按M.title分组。如果要对行进行分组,请确定要对哪些列进行分组。请记住,除了聚合函数(如COUNT )之外,SELECT子句最终只能包含GROUP BY子句中的列。分组聚合函数对GROUP BY子句中定义的行集进行操作,并返回汇总结果。示例包括SUM、MIN、MAX COUNT和AVG。如果没有GROUP BY子句,则将所有行视为一个集合;对所有行执行聚合。

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

https://stackoverflow.com/questions/55171172

复制
相关文章

相似问题

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