不太明白楼主需求,是否这样:
select deptno,count(1) from emp group by deptno

解决方案 »

  1.   

    他的意思应该是想将最后两个列相成吧?
    是否select deptno,count(deptno*num_of_dept) from scott.emp group by deptno;
      

  2.   

    是想这样:
    select ename,job,sal,deptno,count(deptno) as num_of_dept from emp group by deptno;
    可是不能加聚合列:
    select ename,job,sal,deptno,count(deptno) as num_of_dept from emp group by deptno
           *
    ERROR 位于第 1 行:
    ORA-00979: 不是 GROUP BY 表达式
      

  3.   

    select ename,job,sal,deptno,cnt from 
    (select ename a,count(*) cnt from emp group by ename),
    ename
    where ename=a
      

  4.   

    to tsj68(tsj):ename是一个字段。ename
    *
    ERROR 位于第 3 行:
    ORA-00942: 表或视图不存在
      

  5.   

    select a.ename,job,sal,deptno,cnt
    from emp a,
    (select ename,count(*) cnt from emp group by ename) b
    where a.ename=b.ename
    /
      

  6.   

    select *
    ,(select count(*) from emp b where b.deptno = a.depno)
    from emp a
      

  7.   

    搞错了,应该是
    select ename,job,sal,deptno,cnt from 
    (select ename a,count(*) cnt from emp group by ename),
    EMP
    where ename=a
    同 zhangshunshi(宇轩)一样的.
      

  8.   

    我的和 playyuer(双规干部) 的一样
            select ename,job,sal,deptno,(select count(1) from emp a where a.deptno = t.deptno) as num_of_dept from emp t order by deptno; zhangshunshi(宇轩) he tsj68(tsj) 的是不对的。
    这个sql语句的那点就是ename 和count(*) 参在 n对1的关系。不过我感觉 双规干部 和我的sql 效率太低了,看看大家还能不能想出更案好的。
      

  9.   

    谢谢各位,playyuer(双规干部)的思路正确,不过有点小问题
    eulerLCS(阿童木) 的是我想要的正确答案,结果如下:ENAME      JOB              SAL     DEPTNO NUM_OF_DEPT
    ---------- --------- ---------- ---------- -----------
    CLARK      MANAGER         2450         10           3
    KING       PRESIDENT       5000         10           3
    MILLER     CLERK           1500         10           3
    SMITH      CLERK           1500         20           5
    ADAMS      CLERK           1500         20           5
    FORD       ANALYST         3000         20           5
    SCOTT      ANALYST         3000         20           5
    JONES      MANAGER         2975         20           5
    ALLEN      SALESMAN        1600         30           6
    BLAKE      MANAGER         2850         30           6
    MARTIN     SALESMAN        1500         30           6
    JAMES      CLERK           1500         30           6
    TURNER     SALESMAN        1500         30           6
    WARD       SALESMAN        1500         30           6已选择14行。这道题加深了我对子查询的理解,原来子查询还能这么用,
    再次感谢各位的指点。