AVG 函数下的分组查询
SQL> desc emp;Name Null? Type
----------------------------------------- -------- ------------
EMPNO NOT NULL NUMBER(4)
ENAME VARCHAR2(10)
JOB VARCHAR2(9)
MGR NUMBER(4)
HIREDATE DATE
SAL NUMBER(7,2)
COMM NUMBER(7,2)
DEPTNO NUMBER(2)
SQL> desc dept;
Name Null? Type
----------------------------------------- -------- ------------
DEPTNO NOT NULL NUMBER(2)
DNAME VARCHAR2(14)
LOC VARCHAR2(13)
求不同部门的平均工资,部门编号,部门名称。
SQL> select d.dname,e.deptno,e.avg(sal) from emp e,dept d where e.deptno=d.deptn
o group by e.deptno;
ERROR at line 1:
ORA-00904: "E"."AVG": invalid identifier
哪错了? 换个了写法还是不行啊
select d.dname,e.deptno,avg(e.sal) from emp e, dept d where e.deptno=d.deptno group by e.deptno;
ORA-00979: not a GROUP BY expression 本帖最后由 Tyler_Durden 于 2015-11-24 11:21 编辑
http://blog.csdn.net/basenet855x/article/details/6694150
根据这篇博文,group by后应跟所有没有使用内部函数的列,即应写成group by d.dname,e.deptno;
在自己客户端亲测可以实现。本人亦是菜鸟,仅供楼主参考
页:
[1]