= 5 AND rownum <= 10" - return zero rows-6ren"> = 5 AND rownum <= 10" - return zero rows-为什么以下查询返回“零”记录: SELECT * FROM 记录 WHERE rownum >= 5 AND rownum = 5 而以下查询返回正确的记录: SELECT * FROM 记录 WHE-6ren">
gpt4 book ai didi

sql - 甲骨文/SQL : Why does query "SELECT * FROM records WHERE rownum >= 5 AND rownum <= 10" - return zero rows

转载 作者:行者123 更新时间:2023-12-04 02:36:32 26 4
gpt4 key购买 nike

为什么以下查询返回“零”记录:

SELECT * FROM 记录 WHERE rownum >= 5 AND rownum <= 10

或者

SELECT * FROM 记录 WHERE rownum >= 5

而以下查询返回正确的记录:

SELECT * FROM 记录 WHERE rownum <= 15

问候,
- 阿西什

最佳答案

在 Oracle 中,Rownum 值是在查询的过滤阶段之后分配的——它们不是表的行,而是查询结果集的行。

因此,返回的第一行始终为 rownum 1,返回的第二行为 rownum 2,依此类推。

rownum 值仅在分配后才递增,因此任何查询,如

select * from t where ROWNUM > 1

从不 返回任何结果。这个查询说'我不想看到返回给我的第一行,只看到之后的那些'这有点矛盾,所以没有返回任何内容。

Ask Tom:On ROWNUM and Limiting Results更多细节。

关于sql - 甲骨文/SQL : Why does query "SELECT * FROM records WHERE rownum >= 5 AND rownum <= 10" - return zero rows,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/855422/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com