[Err] ORA-00979: not a GROUP BY expression
not a GROUP BY expression异常产生是因为group by用法的问题。
在使用group by 时,有一个规则需要遵守,即出现在select列表中的字段,如果没有在组函数中,那么必须出现在group by 子句中。(select中的字段不可以单独出现,必须出现在group语句中或者在组函数中。)
否则就会出现错误。
在select 语句中可以使用group by 子句将行划分成较小的组,一旦使用分组后select操作的对象变为各个分组后的数据,使用聚组函数返回的是每一个组的汇总信息。
使用having子句 限制返回的结果集。group by 子句可以将查询结果分组,并返回行的汇总信息Oracle 按照group by 子句中指定的表达式的值分组查询结果。
在带有group by 子句的查询语句中,在select 列表中指定的列要么是group by 子句中指定的列,要么包含聚组函数 select max(sal),job emp group by job; (注意max(sal),job的job并非一定要出现,但有意义) 查询语句的select 和group by ,having 子句是聚组函数唯一出现的地方,在where 子句中不能使用聚组函数。 select deptno,sum(sal) from emp where sal>1200 group by deptno having sum(sal)>8500 order by deptno; 当在gropu by 子句中使用having 子句时,查询结果中只返回满足having条件的组。在一个sql语句中可以有where子句和having子句。having 与where 子句类似,均用于设置限定条件 where 子句的作用是在对查询结果进行分组前,将不符合where条件的行去掉,即在分组之前过滤数据,条件中不能包含聚合函数,使用where条件显示特定的行。
having 子句的作用是筛选满足条件的组,即在分组之后过滤数据,条件中经常包含聚合函数,使用having 条件显示特定的组,也可以使用多个分组标准进行分组。
使用order by排序时order by子句置于group by 之后 并且 order by 子句的排序标准不能出现在select查询之外的列。
查询每个部门的每种职位的雇员数
select deptno,job,count(*) from emp group by deptno,job
/******************************************************
记住这就行了:
在使用group by 时,有一个规则需要遵守,即出现在select列表中的字段,如果没有在组函数中,那么必须出现在group by 子句中。(select中的字段不可以单独出现,必须出现在group语句中或者在组函数中。
[Err] ORA-00979: not a GROUP BY expression相关推荐
- oracle中group by用法报错ORA-00979: not a GROUP BY expression
有用的知识又增加了!!!! 总结:Oracle用group by 分组 有一个规则需要遵守,即出现在select列表中的字段,如果没有在组函数中,那么必须出现在group by 子句中.(select ...
- In aggregated query without GROUP BY, expression #2 of SELECT list contains nonaggregated column...
ERROR 1140 (42000): In aggregated query without GROUP BY, expression #1 of SELECT list contains nona ...
- mysql查询出现In aggregated query without GROUP BY, expression #1 of SELECT list contains nonaggregated c
1.问题: Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: In ...
- mysql:In aggregated query without GROUP BY, expression #1 of SELECT list contains...........
文章目录 问题描述 问题溯源 解决方式一 解决方法二 附录: 问题描述 下面是报错截图: 1140 - In aggregated query without GROUP BY, expression ...
- MYSQL||报错:In aggregated query without GROUP BY, expression #1 of SELECT list contains nonaggregated
碎碎念: 兄弟萌,我胡汉三又回来啦(。・∀・)ノ゙嗨,最近在期末考,一不小心二十几天没发博了,年底KPI没冲成功,今天就来补一下下§(* ̄▽ ̄*)§ 一.问题描述 今天在牛客网做SQL的题:牛客的课程 ...
- mysql 报错:1140 In aggregated query without GROUP BY, expression #
1140 In aggregated query without GROUP BY, expression #1 of SELECT list contains nonaggregated colum ...
- In aggregated query without GROUP BY, expression #2 of SELECT list contains nonaggregated column
maven项目报错error: expression #2 of SELECT list contains nonaggregated column 'newhelp.appr.title'; thi ...
- [42000][1140] In aggregated query without GROUP BY, expression #2 of SELECT list contains nonaggreg
项目报错error: expression #2 of SELECT list contains nonaggregated column 'newhelp.appr.title'; this is ...
- hibernate Expression详解
Expression.gt:对应SQL条件中的"field > value ".如:Expression.gt("salary", new Integer ...
最新文章
- su oracle : 只切换用户,而不切换环境;就是说切到oracle用户后,使用的依旧是root的环境。 su - oracle :同时切换用户和环境
- thinkphp 框架自动加载原理_ThinkPHP5分析Part 1 基本框架流程
- 写在这个公众号关注者达到7000之际,Jerry有话对大家说
- java if和else if的区别_关于C语言中if,elseif和else的区别在哪里
- golang package 是什么意思?一份来自初学者的golang package体验指南
- linux macos 程序员,关于macos:Linux相当于Mac OS X“open”命令
- KVM 介绍(5):libvirt 介绍 [ Libvrit for KVM/QEMU ]
- javascript无限弹窗_html恶搞之无限弹窗
- HCNA认证课程—VRP基础操作总结
- 混凝土静力受压弹性模量试验计算公式_C50混凝土静力受压弹性模量试验报告
- Rust LLDB 调试入门指北
- 标签thead与th的区别
- 机器学习-数据科学库 13 政治献金数据案例
- 群体优化算法工具箱分享(GA、PSO、CS、GWO、WOA、HHO)
- java 相关学习笔记
- 微信公众帐号开发-自定义菜单的创建及菜单事件响应的实例
- 吴恩达机器学习ex2 Logistic Regression (python)
- 微信公众号教程(18)微信音乐播放器开发 上
- UT-Exynos4412 三星ARM四核旗舰开发平台android4.0体验-13串口功能调试
- 阿里云下部署es单机