首先引入语句来源,表结构和数据如下:

需求是:查出员工(personname)在不同店铺(store)的总薪酬(salary),相同店铺输出store,不同店铺输出multi_store。

正确查询语句如下:

SELECT personname,(case when count(distinct Store)>1 then 'multi_store' else MAX ( store) end),sum(Salary) FROM dbo.StaffInformation
GROUP BY PersonName

第一想到的语句:(但是达不到想要的结果或者直接报错:“选择列表中的列'列名'无效,因为该列没有包含在聚合函数或group by 子句中”)

SELECT personname,(case when count(distinct Store)>1 then 'multi_store' else store end),sum(Salary) FROM dbo.StaffInformation
GROUP BY PersonName

遇到类似的问题:首先看看输出的字段是不是你需要的,如果需要但是又不能放在group by中(因为放在group by中就得不到分组的效果,但是不放就报错)

就要考虑将store这样的字段用个函数处理下。其实想想挺简单的,多遇到点问题 就能慢慢得到自己的一套解决问题的方案了。

有问题可以随时评论。我基本上每天都会来一下。有问题互相探讨,学习,进步。

转载于:https://www.cnblogs.com/tec-1988/p/6070177.html

MySql查询语句中解决“该列没有包含在聚合函数或者groupby子句中”的相关问题方法...相关推荐

  1. 选择列表中的列……无效,因为该列没有包含在聚合函数或 GROUP BY 子句中

    今天用SQL Server尝试实现一个SQL语句的时候,报了如标题所示的错误,通过在百度里面搜索,并亲自动手实现,终于发现问题所在,现在把它记录下来. 语句如下: select [OrderID],[ ...

  2. GROUP BY 子句中 选择列表中的列无效,因为该列没有包含在聚合函数或

    T-SQL核心语句形式: SELECT     --指定要选择的列或行及其限定  [INTO ]      --INTO子句,指定结果存入新表 FROM      --FROM子句,指定表或视图 [W ...

  3. 选择列表中的列 '.......' 无效,因为该列没有包含在聚合函数或 GROUP BY 子句中。

    错误:消息 8120,级别 16,状态 1,第 51 行 选择列表中的列 'Employee.EmployeeID' 无效,因为该列没有包含在聚合函数或 GROUP BY 子句中. 题目:查询最低收入 ...

  4. 42000[SQL Server]ORDER BY子句中的列无效,该列没有包含在聚合函数或GROUP BY 子句

    [Err] 42000 - [SQL Server]ORDER BY 子句中的列 "t_xxx.inputDate" 无效,因为该列没有包含在聚合函数或 GROUP BY 子 错误 ...

  5. 关于因为该列没有包含在聚合函数或 GROUP BY 子句中

    参考:http://blog.csdn.net/wlf535944903/article/details/5576287 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY ...

  6. SQL Server报错:选择列表中的列无效,因为该列没有包含在聚合函数或 GROUP BY 子句中...

    聚合函数:聚合函数就是对一组值进行计算后返回单个值. 包括: COUNT(统计函数): COUNT_BIG(统计函数): SUM(求和函数): AVG(求平均值函数): MAX(最大值函数): MIN ...

  7. 选择列表中的列'sc.cno'无效,因为该列没有包含在聚合函数或者group by 字句中《SQL中的group by该怎么用?》

    1.SQL Server中,子查询不能返回多个值 2.子查询中不能包含ORDER BY子句 3.group by 可以将查询结果按某一列或多列的值进行分组.group by 一般是和聚合函数一起搭配使 ...

  8. SQL Server报错:选择列表中的列无效,因为该列没有包含在聚合函数或 GROUP BY 子句中

    聚合函数:聚合函数就是对一组值进行计算后返回单个值. 包括: COUNT(统计函数): COUNT_BIG(统计函数): SUM(求和函数): AVG(求平均值函数): MAX(最大值函数): MIN ...

  9. mysql查询语句 变量_mysql查询语句中用户变量的使用

    先上代码吧 SELECT `notice`.`id` , `notice`.`fid` , `notice`.`has_read` , `notice`.`notice_time` , `notice ...

  10. php面试专题---MYSQL查询语句优化

    php面试专题---MYSQL查询语句优化 一.总结 一句话总结: mysql的性能优化包罗甚广: 索引优化,查询优化,查询缓存,服务器设置优化,操作系统和硬件优化,应用层面优化(web服务器,缓存) ...

最新文章

  1. safari post 请求接收不到_我是谁?我在哪?我要到哪去?——HTTP请求头
  2. butterknife 插件_知道这个插件,能让你的项目里少写1000行代码
  3. boost::count_if相关的测试程序
  4. 小 Q 与树(dsu on tree + segment tree)牛客练习赛 81 D
  5. linux vmcore 分析,crash分析vmcore
  6. mysql-演练0722
  7. eclipse项目中关于导入的项目里提示HttpServletRequest 不能引用的解决办法
  8. Microsoft Blazor Platz.SqlForms开源——使用架构生成器设计和维护SQL Server数据库
  9. 如何对SQL Server实例执行性能测试
  10. Struts,Spring,Hibernate面试题总结
  11. Java 8 异步 API、循环、日期,用好提高生产力!
  12. 吞吐量、响应时间和 CPU 利用率之间的关系
  13. python暴力破解WiFi
  14. JSON字符串生成在线生成POJO工具类
  15. PDF英文文档免费翻译成中文
  16. 数模论文写作方法2|摘要的技巧
  17. 测开 - 自动化测试selenium(WebDriver API) - 细节狂魔
  18. 基于MATLAB的数论运算与编写函数(附完整代码)
  19. Excel数据分列的三种方法
  20. PTY allocation request failed on channel 0

热门文章

  1. 2. MarkText可代替Typora的markdown 编辑器
  2. numpy教程:ndarray属性、内建函数及其运算、迭代
  3. keras load model 并保存特定层 (pop) 的权重save new_model
  4. java servlet 对象_java servlet的域对象
  5. 力扣-342 4的幂
  6. 7-1 Programming in C is fun! (5 分)
  7. 网络对抗技术 实验二
  8. 算法十大排序(含动图)
  9. 查看网络情况netstat指令与动态监控top指令
  10. jquery操作html小技巧