我有一张桌子Table1
**名称日期 ** A 2010年6月1日 B 2010年 12月3日C 2010年5月12日
当我使用以下查询查询该表时
select * from table1 where rownum=1
我得到的输出为
**名称日期 ** A 2010年6月1日
但是以同样的方式,当我使用以下查询时,我没有任何输出。
select * from table1 where rownum=2 select * from table1 where rownum=3
有人请给我指导,为什么它会那样工作,以及如何使用rownum。
汤姆回答了许多与Oracle有关的问题
简而言之,在应用where子句之后和应用order by子句之前,rownum可用。
在RowNum = 2的情况下,where子句中的谓词将永远不会评估为true,因为RowNum从1开始,并且仅在可以找到与该谓词匹配的记录时才增加。