select deptno, ename, sal    

from emp e1   

where    

   (

    select count(1)   

    from emp e2   

    where e2.deptno=e1.deptno and e2.sal>=e1.sal

   ) <=3 /*这里的数值表示你想取前几名*/

order by deptno, sal desc;