Oracle Rownum = 2没有返回结果

时间:2014-06-07 06:36:15

标签: sql oracle rownum

USER_DTLS table
-----------------
ID  NAME    ADDRESS ROLL

1   SARAH   (Clob)  14
2   ALICE   (Clob)  13
3   ANU (Clob)  12

在这张桌子上

SELECT * FROM test.USER_DTLS
 WHERE ROWNUM =1; 

返回结果

1   SARAH   (Clob)  14

但在尝试时

SELECT * FROM test.USER_DTLS
 WHERE ROWNUM =2;

没有结果 任何人都可以帮忙吗

1 个答案:

答案 0 :(得分:4)

Oracle的ROWNUM从1开始,仅在分配给通过WHERE条件的行时才会递增。

由于您在ROWNUM = 2上进行过滤,因此ROWNUM = 1不会传递WHERE条件,因此ROWNUM永远不会分配给一行并递增为2.

This ask Tom article详细介绍了这一点,如果你想有效地使用ROWNUM,这是非常好的阅读。