oracle分页查询语句

oracle分页查询语句

SELECT logTime,userNo,labCode,primaryKey,operateType,isHaiEr,logDetail FROM(SELECT A.*, rownum r FROM(SELECT * FROM log) A WHERE rownum < "+(start+length)+")B WHERE r >="+start;

start为开始记录,length为长度,代表的含义为:查询从start开始,length条记录。

mysql中有limit关键字,在oracle中并不支持limit,但oracle支持rownum,在分页查询时,可以借助rownum来实现。
1、返回5-10行的数据
select * from log t where Rownum <10  minus select * from log t where Rownum<5
但注意不能这么写
select * from log t where Rownum <10  and Rownum >5
因为oracle并不认为这是正确的条件

2.返回5-10行的数据,这种方式更常用在oracle的分页查询中
SELECT * FROM

(

SELECT A.*, rownum r

FROM

(

SELECT *

FROM log

) A

WHERE rownum <= 10

) B

WHERE r >=5

SELECT * FROM(SELECT A.*, rownum r FROM(SELECT * FROM log) A WHERE rownum <= 12)B WHERE r >=9
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值