问题:列出在每个部门工作的员工数量,平均工资和平均服务期限和部门名称select e.deptno,count(e.empno), avg(e.sal) 平均工资,avg(sysdate-e.hiredate)/365/count(e.empno) 平均年份,d.dname from emp e,dept d group by e.deptno,d.dname;
from emp e,dept d where e.deptid = d.deptid group by ...
从语句上来说,应该是条件不足吧,你这样查询的话,结果肯定会多 select e.deptno,count(e.empno), avg(e.sal) 平均工资,avg(sysdate-e.hiredate)/365/count(e.empno) 平均年份,d.dname from emp e,dept d where ... group by e.deptno,d.dname;
select e.deptno,count(e.empno), avg(e.sal) 平均工资,avg(sysdate-e.hiredate)/365/count(e.empno) 平均年份,d.dname from scott.emp e,scott.dept d WHERE e.deptno=d.deptno group by e.deptno,d.dname;
在group by前面增加where子句,例如:where e.depno=d.depno
谢谢了.我刚才用了where,发现不行. 原来是group by 那里少了个d.dname, 还以为不能用where呢.谢谢各位了
where e.deptid = d.deptid
group by ...
select e.deptno,count(e.empno), avg(e.sal) 平均工资,avg(sysdate-e.hiredate)/365/count(e.empno) 平均年份,d.dname
from emp e,dept d where ...
group by e.deptno,d.dname;
from scott.emp e,scott.dept d
WHERE e.deptno=d.deptno
group by e.deptno,d.dname;
原来是group by 那里少了个d.dname,
还以为不能用where呢.谢谢各位了