【问题】如何求取每个部门工资前2名员工的 部门编号,姓名,工资 如何求取每个部门工资前2名员工的 部门编号,姓名,工资 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 select deptno,ename,sal from( select rank() over(partition by deptno order by (sal+nvl(comm,0)) desc) rn,deptno,ename,sal from emp)where rn<3; rank()取的话,如果有三名并列第一会一起取出来,如果只取每个部门前两个,直接用row_number(),看你的需求了 --晕,奖金少写了(sal+nvl(comm,0)) sal,不需要的话就只用sal吧select deptno,ename,sal from( select rank() over(partition by deptno order by (sal+nvl(comm,0)) desc) rn,deptno,ename,(sal+nvl(comm,0)) sal from emp)where rn<3; 初学oracle,请教 SQL列索引无效问题 求助 SOS:数据库oracle 急:请教高手--在每月底23:30修改某表 Oracle Trigger基礎寫法 游标问题 想删除型号出现次数小于5次的记录,这样SQL语句怎样写? 困扰我一周的破oracle!唉~~ 请问ORACLE 9i 有自增数值型吗? 索引全掃描 (index full scan) oracle 安装时显示图形化界面的问题 帮忙分析下
select deptno,ename,sal from(
select rank() over(partition by deptno order by (sal+nvl(comm,0)) desc) rn,deptno,ename,sal from emp)
where rn<3;
--晕,奖金少写了(sal+nvl(comm,0)) sal,不需要的话就只用sal吧
select deptno,ename,sal from(
select rank() over(partition by deptno order by (sal+nvl(comm,0)) desc) rn,deptno,ename,(sal+nvl(comm,0)) sal from emp)
where rn<3;