0
select  salary from employees order by salary desc
MINUS
select  salary from employees where rownum<10 order by salary desc;

我无法通过 MINUS 使用 order by,它说 sql 命令没有正确结束。请建议!

4

1 回答 1

2

鉴于业务问题似乎是什么(显示薪水不在薪水前十名的员工的薪水),我认为分析将是一个值得考虑的选择:

select salary 
  from (select salary,
               rank() over (order by salary) as salary_rank
          from employees
       )
 where salary_rank > 10
 order by salary;

使用分析也只会扫描EMPLOYEES一次,而原始查询将扫描两次。

于 2010-03-01T13:50:45.867 回答