问题:列出在每个部门工作的员工数量,平均工资和平均服务期限和部门名称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;

解决方案 »

  1.   

    from emp e,dept d
    where e.deptid = d.deptid
    group by ...
      

  2.   

    从语句上来说,应该是条件不足吧,你这样查询的话,结果肯定会多
    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;
      

  3.   

    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;
      

  4.   

    在group by前面增加where子句,例如:where e.depno=d.depno
      

  5.   

    谢谢了.我刚才用了where,发现不行.
    原来是group by 那里少了个d.dname,
    还以为不能用where呢.谢谢各位了