您的位置:首页 > 数据库 > Oracle

oracle rownum分页 出现重复数据

super_marioli 2009-12-17 14:57 26 查看
通常一般的分页语句如下:

select *
from (
select row_.*, rownum rownum_
from ( select p.id from table1 p
order by p.DATA_UPDATE_TIME desc )
row_ where rownum <= ?) b
where b.rownum_ >?

当红字部分的 DATA_UPDATE_TIME 不能唯一确定记录的顺序就会出现这个问题,比如有重复的DATA_UPDATE_TIME

只要将语句写成:

select * from (

select row_.*, rownum rownum_

from (

select p.id from table1 p

order by p.DATA_UPDATE_TIME desc

) row_ )

where rownum_ > ? and rownum_ <= ?

就ok.
标签: