Oracle排序的问题解决一下

显示各部门员工薪金最高的前2名
select * from emp a where (select count(*) from emp where deptno = a.deptno and sal > a.sal) < 2
order by deptno,sal desc;

这是什么意思谁能解释一下

1个回答

where 后面的意思是同部门,薪金大于本条记录的个数。可以先把它看成一列,如果是0那么是最高的,如果是1那么比他薪金高的就一条记录,那么他就是第二高。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐