oracle数据库学习之rownum

本文详细解析了数据库中的rownum字段在分页查询中的应用,并通过实例说明了如何避免常见错误,比如使用rownum进行不当的条件过滤。文章还提供了使用子查询来实现正确分页的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

淘宝,选课系统中分页显示数据用的就是rownum,这是数据库默认字段,每个表中都会有,但是使用rownum需要注意以下几点:

(1)rownum不可以与*一起用

(2)rownum是在查询得到结果后加上去的,默认从一开始。这貌似是显浅的一句话,但是背后的意义非常重要,随时影响我们最后的查询结果。

如果我们执行如下的select语句 select rownum from student where rownum>2,原本我们是想着获取第二条记录以后的记录的,但是事实上我们一条记录都不会得到,原因很简单,就是select的结果是一条一条地加上去的,当第一条记录添加时,其rownum为1,不满足条件,不能添加,如此类推,我们查询的结果一条都没有。

那么我们应该如何解决这个问题呢?毕竟这是个很普遍的查询。这里我们将用到子查询。

select * from (select rownum from student)where rownum>2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值