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) 

我想要做的是打印出至少department_id有2 名员工薪水超过 10000 的员工。

我虽然这将是查询

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 回答