在每个部门中找到第一和第二高的薪水. [英] find the first and second highest sal in each department....

查看:66
本文介绍了在每个部门中找到第一和第二高的薪水.的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们如何在不同的查询中找到每个部门的第一和第二高薪水(也应显示该部门)...

how will we find the first and second highest sal in each department(the department should also be displayed)...???in different-different queries...

     EMPNO ENAME      JOB              MGR HIREDATE         SAL       COMM     DEPTNO
---------- ---------- --------- ---------- --------- ---------- ---------- ----------
      7369 SMITH      CLERK           7902 17-DEC-80        800                    20
      7499 ALLEN      SALESMAN        7698 20-FEB-81       1600        300         30
      7521 WARD       SALESMAN        7698 22-FEB-81       1250        500         30
      7566 JONES      MANAGER         7839 02-APR-81       2975                    20
      7654 MARTIN     SALESMAN        7698 28-SEP-81       1250       1400         30
      7698 BLAKE      MANAGER         7839 01-MAY-81       2850                    30
      7782 CLARK      MANAGER         7839 09-JUN-81       2450                    10
      7788 SCOTT      ANALYST         7566 19-APR-87       3000                    20
      7839 KING       PRESIDENT            17-NOV-81       5000                    10
      7844 TURNER     SALESMAN        7698 08-SEP-81       1500          0         30
      7876 ADAMS      CLERK           7788 23-MAY-87       1100                    20

     EMPNO ENAME      JOB              MGR HIREDATE         SAL       COMM     DEPTNO
---------- ---------- --------- ---------- --------- ---------- ---------- ----------
      7900 JAMES      CLERK           7698 03-DEC-81        950                    30
      7902 FORD       ANALYST         7566 03-DEC-81       3000                    20
      7934 MILLER     CLERK           7782 23-JAN-82       1300                    10

推荐答案

部门最高薪水
Highest Salary by Dept
SELECT  DEPTNO, max(SAL) as MaxSalary FROM EmpSal
group BY DEPTNO



部门第二好的薪水



Second Best Salary by Dept

SELECT es.DEPTNO,max(es.SAL) as SecondBest FROM 
(
SELECT  DEPTNO, max(SAL) as MaxSalary FROM EmpSal
group BY DEPTNO) P
JOIN EmpSal es ON P.DEPTNO= es.DEPTNO
WHERE es.SAL!= P.MaxSalary
GROUP BY es.DEPTNO


这篇关于在每个部门中找到第一和第二高的薪水.的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆