0

私はSQL Developerを使用しており、次のテーブル構造を持っています:

Name           Null     Type         
-------------- -------- ------------ 
EMPLOYEE_ID    NOT NULL NUMBER(6)    
FIRST_NAME              VARCHAR2(20) 
LAST_NAME      NOT NULL VARCHAR2(25)  
DEPARTMENT_ID           NUMBER(4)  
SALARY                  NUMBER(8,2) 

私がやりたいことは、給与が 10000 を超える従業員が少なくとも 2 人いる を出力することですdepartment_id

私はこれがクエリになると思いました

select department_id
from employees
having count(select * from employees where salary > 10000) > 2
group by department_id;

しかし、私が発見したことから、COUNT 内に SELECT ステートメントを配置することはできないため、スタックしてしまい、このクエリを他にどのように実行すればよいかわかりません。どんな提案でも大歓迎です。

更新: すべての従業員ではなく、少なくとも2 人の従業員の給与が 10000 を超えている必要があることに注意してください。

4

2 に答える 2

3
    SELECT  Department_Id, 
            COUNT(*)
      FROM  Employee
     WHERE  Salary > 10000
  GROUP BY  Department_Id
    HAVING  COUNT(*) > 1

SQL フィドルの例。

于 2013-06-02T11:19:37.963 に答える
1
SELECT department_id FROM employees
WHERE salary > 10000 GROUP BY department_id HAVING COUNT(*) >= 2;
于 2013-06-02T11:10:55.713 に答える