Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 获得给定工作的最低员工数_Sql_Oracle_Top N - Fatal编程技术网

Sql 获得给定工作的最低员工数

Sql 获得给定工作的最低员工数,sql,oracle,top-n,Sql,Oracle,Top N,我有这张桌子: Name Null? Type -------------------------- -------- ------------ EMPLOYEENO NOT NULL NUMBER(4) ENAME VARCHAR2(15) JOB VARCHAR2(15) MGR

我有这张桌子:

Name                       Null?    Type
-------------------------- -------- ------------
EMPLOYEENO                 NOT NULL NUMBER(4)
ENAME                               VARCHAR2(15)
JOB                                 VARCHAR2(15)
MGR                                 NUMBER(4)
HIREDATE                            DATE
SAL                                 NUMBER
COMM                                NUMBER
DEPTNO                              NUMBER(2).
我想让部门拥有最少的员工,例如所有拥有“分析师”工作的员工


你能帮我查询一下吗?

这里的关键是要得到每个部门从事特定工作的员工数量。在下面的查询中,这是通过子查询实现的。然后,我们希望获得从事该工作的员工人数最少的部门,因此我们以升序排序子查询返回的记录,然后使用rownum=1选择第一个结果

从中选择DEPTNO 选择计数*作为环境管理计划的编号,部门编号 来自员工EMP 其中EMP.JOBNAME='分析师' 德普诺集团 EMP ASC第号订单
其中ROWNUM=1

鉴于此类员工的最低人数可能为0,您需要对如何做到这一点有点聪明:

select d.*
from (select deptno,
             sum(case when jobname = 'Analyst' then 1 else 0 end) as numAnalysts
      from employees
      group by deptno
      order by numAnalysts asc
     ) d
where rownum = 1;

Count+groupby+orderby+ROWNUMI应该尝试一下。寻找所有这些概念来实现result@TusharShimpi . . . 这不会返回一个没有分析员的部门,这是我所理解的问题中的最小值。订购应该是递增的,以获得至少没有分析员的部门employees@codiacTushki . . . 非常感谢。