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