Oracle 查询帮助
如何在Oracle的EMP表中列出拥有两名职员或三名经理的部门?有多种方法可以获得此结果。这里有一个解决方案:Oracle 查询帮助,oracle,select,Oracle,Select,如何在Oracle的EMP表中列出拥有两名职员或三名经理的部门?有多种方法可以获得此结果。这里有一个解决方案: SQL> select deptno 2 , mgr_count 3 , clerk_count 4 from 5 ( select deptno 6 , sum ( case when job = 'MANAGER' then 1 else 0 end ) as mgr_coun
SQL> select deptno
2 , mgr_count
3 , clerk_count
4 from
5 ( select deptno
6 , sum ( case when job = 'MANAGER' then 1 else 0 end ) as mgr_count
7 , sum ( case when job = 'CLERK' then 1 else 0 end ) as clerk_count
8 from emp
9 group by deptno )
10 where mgr_count > 3
11 or clerk_count > 2
12 /
DEPTNO MGR_COUNT CLERK_COUNT
---------- ---------- -----------
30 3 5
50 4 0
SQL>
这里有一个稍微不同的方法:
SQL> select * from
2 ( select deptno
3 , job
4 , count(*) as cnt
5 from emp
6 group by deptno, job
7 )
8 where ( job = 'MANAGER' and cnt >= 3 )
9 or ( job = 'CLERK' and cnt >= 2 )
10 /
DEPTNO JOB CNT
---------- --------- ----------
20 CLERK 2
30 CLERK 5
30 MANAGER 3
50 MANAGER 4
SQL>
当你问这样的问题时,你永远不会得到答案。这是你第一次上网吗@卡伦布罗迪-你错了吗are@APC的确你必须承认,这些问题有点稀松平常,而且还带有“请帮忙”的语气最后,我没有帮他们任何忙。@calumbrodie-这个问题在我把它转为子问题之前就可以理解了。除此之外,我们应该对新来的人表示不满。@APC我没有说这是不可理解的。我说这是一个格式不好的问题。我不是唯一一个这么想的人。我甚至发布了一个友好的链接,让他们阅读如何改进他们的问题。也许这种讽刺有点不必要。