Oracle未定的订单

Oracle未定的订单,第1张

概述我正在尝试将分页添加到简单的选择查询中,例如 select rownum rownum_,t.* from (select id,name from table) twhere rownum <=4 但是,当条件存在且条件不存在时,上述查询的行为会有所不同.但是在删除名称列时,行为是一致的.有谁能说出原因? 我知道rownum是在查询运行时确定的,我无法理解的是rownum< = n的where 我正在尝试将分页添加到简单的选择查询中,例如

select rownum rownum_,t.* from (select ID,name from table) twhere rownum <=4

但是,当条件存在且条件不存在时,上述查询的行为会有所不同.但是在删除名称列时,行为是一致的.有谁能说出原因?

我知道rownum是在查询运行时确定的,我无法理解的是rownum< = n的where条件,更改顺序

解决方法 你必须明白rownum是一个伪列.

查询中的rownum列表示订单(第一个记录,第二个,第三个……)

然后返回记录顺序

select ID,name from table

不保证.在您的请求中,与第一条记录关联的rownum将始终为1,因为第一条记录每次都可能不同.

总之,当您需要特定订单时,请始终使用ORDER BY.

总结

以上是内存溢出为你收集整理的Oracle未定的订单全部内容,希望文章能够帮你解决Oracle未定的订单所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1158772.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存