当前位置: 代码迷 >> Oracle面试 >> 分组查询中分组的字段为何一定要出现在查询的列表里面
  详细解决方案

分组查询中分组的字段为何一定要出现在查询的列表里面

热度:214   发布时间:2016-04-24 03:22:16.0
分组查询中分组的字段为什么一定要出现在查询的列表里面
select max(sal) from emp group by deptno 语句并没有报错,但是查询列表中并没有deptno字段啊?
------解决方案--------------------
select max(sal),deptno from emp group by deptno
------解决方案--------------------
没明白你要问的是什么意思
------解决方案--------------------
分组查询,必须有聚合或者该字段或聚合和该字段
------解决方案--------------------
 可以不写,但是写在SELECT中必须要在group by 中出现。
------解决方案--------------------

------解决方案--------------------
你正好弄反了,聚合查询,列表中的字段必须满足以下两个条件之一:
1 在group 元素中 2 加了聚合函数

道理很简单,逻辑上,一组只能出一行。
------解决方案--------------------
通俗的说 

在group by语句中 select后的字段和where后的字段可以一对多,但是不能多对一
  相关解决方案