找出 各个部门薪金(sal)排名的前两个人 表是oracle9i 中的emp 表  结果是两个字段  depto 和sal  

解决方案 »

  1.   

    SELECT DEPTNO,SAL FROM (SELECT A.*,RANK() OVER(PARTITION BY DEPTNO ORDER BY SAL DESC) RK FROM SCOTT.EMP A) WHERE RK<=2
      

  2.   

    select sal, deptno
      from (select sal,
                   deptno,
                   row_number() over(partition by deptno order by sal) rn
              from emp)
     where rn <= 2
      

  3.   

    你好 谢谢 : 能解释下么? 而且最好不用 这个rnank over()函数 还有其他解法么?
      

  4.   

    参考下面贴子问题10:
    http://topic.csdn.net/u/20081002/00/f8d90ba2-e2bb-412a-a0c5-1b6d518fc22a.html