使用COUNT和HAVING命令仅显示计数大于3

时间:2015-06-25 01:34:20

标签: oracle oracle11g

问题是:找出在每个特定部门主管(HOD)下工作的员工总数。仅显示计数大于3的部门负责人。

我使用COUNT来查明每个部门(HOD)下有多少员工,然后使用HAVING显示数量大于3的员工。

任何人都可以帮助我如何为上述问题创建语法?我输了。

我从以下开始,但我不知道接下来该做什么。

SUBQUERY:

SELECT COUNT(DISTINCT HOD)
FROM EMPLOYEES
WHERE HOD > 3;

表:员工

EMPLOYEE_ID EMPLOYEE_NAME   JOB_ID  JOB_DESCRIPTION HOD HIREDATE    SALARY  DEPARTMENT_ID
       1           SMITH    J1      CLERK           5   17-Dec-07    5,800.00   20
       2           ALLEN    J2      SLAESMAN        3   20-Feb-08    7,600.00   30
       3            WARD    J2      SALESMAN        5   22-Feb-08    8,250.00   30
       4           JONES    J3      MANAGER         7   2-Apr-08     4,900.00   20
       5            JACK    J2      SALESMAN        7   28-Sep-08    6,700.00   10
       6           BLAKE    J3      MANAGER         7   1-May-08     12,850.00  30
       7           CLARK    J3      MANAGER        NULL 9-Jun-08     22,450.00  10  
       8           SCOTT    J4      ANALYST         5   9-Dec-08     13,000.00  20
       9          TURNER    J2      SALESMAN        3   8-Sep-07     5,500.00   30
      10           ADAMS    J1      CLERK           5   12-Jan-07    9,100.00   20

1 个答案:

答案 0 :(得分:2)

严格来说,以下内容回答了您提出的问题:

SELECT HOD, COUNT(*) AS EMPLOYEE_COUNT
  FROM EMPLOYEES
  GROUP BY HOD
  HAVING COUNT(*) > 3
  ORDER BY HOD;

SQLFiddle here

祝你好运。