选择表的第二行我曾尝试下面的查询:使用ROWNUM
select empno from (
select empno
from emp
order by sal desc
)
where rownum = 2
这不返回任何记录。
当我试图此查询
select rownum,empno from (
select empno from emp order by sal desc)
它给了我这样的输出:
ROWNUM EMPNO
1 7802
2 7809
3 7813
4 7823
谁能告诉我什么是我的第一个查询的问题?为什么添加ROWNUM过滤器时不会返回任何记录?
:感谢您的解释+1 ...查询不值得因为我想要根据sal desc的顺序获取记录的rownum,如果我们将rownum放入内部查询中,查询dint工作,它会给我们rownum emp表的记录,而不是已排序数据的记录....感谢您的解释 – 2012-02-11 12:44:39
良好的答案(+1),但您提出的查询将无法正常工作并返回第二薪酬最高的员工。你需要另一级别的子查询来确保ROWNUM被指定_after_ ORDER BY。 – 2012-02-11 13:15:40
@BrankoDimitrijevic你是对的。我会更正答案 – 2012-02-11 13:20:19