【问题标题】:Oracle Rownum = 2 not returning results [duplicate]Oracle Rownum = 2 不返回结果 [重复]
【发布时间】:2014-06-07 15:25:57
【问题描述】:
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;

它不返回任何结果 有人可以帮忙吗

【问题讨论】:

  • 你为什么用 MySQL 标记这个问题? MySQL 中没有像 ROWNUM 这样的东西。
  • @Ravi.Sorry 没有与该标签相关的标签,它也询问了 5 个标签,这就是我包含它的原因。
  • @a_horse_with_no_name 文档没问题,但查询对此没有任何想法。
  • @kordirko 谢谢它给了我一些想法

标签: sql oracle rownum


【解决方案1】:

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

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

This ask Tom article 对此进行了详细介绍,如果您想有效地使用 ROWNUM,这是非常好的阅读材料。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-08
    • 2021-01-10
    • 2016-01-28
    • 2012-11-01
    • 1970-01-01
    相关资源
    最近更新 更多