美文网首页
关于SQL中的ROWNUM问题

关于SQL中的ROWNUM问题

作者: DuBetter | 来源:发表于2019-07-10 17:33 被阅读0次

前言

昨天改小程序的后台,看见之前写的分页很奇怪,startIndexendIndex两个下标, endIndex 总是在里面层,而startIndex总是在外层,我随后改了,直接Where rownum > startIndex and rowmnum <=endIndex, 结果只查出来了第一页,后面页查不出来了。

客官可移步小站查看本文http://fanjiajia.cn/2019/07/10/SQL/flx1/

原因

Where rownum > 0 and rowmnum <=20,是可以查出前20条记录的,但是Where rownum >1 and rowmnum <=20,就不行了,所以只要是rownum>1都不可以。

上网查一番,原来ROWNUM作为一列虚列,也叫做伪列,总是从1开始,我知道这样说肯定觉得是废话。
举个例子,where rownum > 1, 结果是查不出数据,原因很简单,rownum总是从1开始,可以这样理解,查询过程即为从数据库的某一个数据区取值,第一行的rownum为1,第二行为2,但是限制条件where rownum > 1导致第一行数据不符合条件,被丢弃,此时取第二行数据,然而此时,rownum仍然从1开始,因为之前哪一行丢弃了,rownum依旧从1开始,因此,永远取不到数据。

最后

此致,敬礼

相关文章

  • 关于SQL中的ROWNUM问题

    前言 昨天改小程序的后台,看见之前写的分页很奇怪,startIndex和endIndex两个下标, endInde...

  • rownum和order by的执行顺序问题

    SQL中rownum和order by的执行顺序的问题 :在一个SQL中,如果同时使用rownum和order b...

  • 分页SQL

    分页 rownum,rowid 分页SQL

  • SQL高级

    SQL SELECT TOP,LIMIT,ROWNUM SQL SELECT TOP子句 select top子句...

  • rownum、rowid、row_number()、rank()

    rowid是物理地址,用于定位oracle中具体数据的物理存储位置,而rownum则是sql的输出结果排序。通俗的...

  • ORACLE 管理,SQL 篇--表

    查看表结构 desc tablename 行数 rownum 查询用户执行过哪些sql操作 select * fr...

  • SQL语句高级

    top limit rownum<= SQL Server数据库——toptop语句查询返回记录的数目:语法:se...

  • Oracle数据库的伪列rownum的使用方法

    本文内容及示例代码参考《 Oracle中ROWNUM的使用技巧。》 1.伪列rownum ROWNUM是一种伪列,...

  • SQL高级

    高级sql语句 1.select top limit rownum (不同数据库使用不同的) 2.SELE...

  • 关于oracle的rownum

    oracle的rownum是个虚列,标示查询结果的显示顺序。如以下语句的查询结果的第一行rownum=1,第二行r...

网友评论

      本文标题:关于SQL中的ROWNUM问题

      本文链接:https://www.haomeiwen.com/subject/xrqkkctx.html