按薪资降序排列,若工资相同,则按照雇佣日期尚需排列,获取6~10 条记录

按工资降序排列,若工资相同,则按照雇佣日期尚需排列,获取6~10 条记录

如题:按工资降序排列,若工资相同,则按照雇佣日期尚需排列,获取6~10 条记录


1 获取工资降序,雇佣日期升序的员工列表


select * from emp order by sal desc, hiredate asc;
按薪资降序排列,若工资相同,则按照雇佣日期尚需排列,获取6~10 条记录

2 获取rownun变量


select t.*, rownum rn
  from (select * from emp order by sal desc, hiredate asc) t;
按薪资降序排列,若工资相同,则按照雇佣日期尚需排列,获取6~10 条记录



3 获取6~10条记录


select a.*
  from (select t.*, rownum rn
          from (select * from emp order by sal desc, hiredate asc) t) a
 where a.rn between 6 and 10;
按薪资降序排列,若工资相同,则按照雇佣日期尚需排列,获取6~10 条记录




PS:实际应用中,最好不要用*代替所有列,直接将需要的列展示出来即可,同时不需要将rownum的序列展示出来。



版权声明:本文为博主原创文章,未经博主允许不得转载。