在oracle数据库中,进行分页操作时,出现同一条记录在不同的页数中显示,例如在17页和18页都有,语句如下:
select * from (select rownum rowseq,A.* from (
select a.* from qp_data a,sqfzlist b where 1=1 and a.id=b.headid And b.batchid='20070207006' Order By b.opdate
)A where rownum<=340
)B where B.rowseq>320
但数据库中确实只有一条记录,百思不得其解,后来想到会不会是排序的问题,因为opdate里面放的是时间,估计按时间来排序的话是不准确的,因为有时分秒毫秒等,所以就把排序项改为其它准确的字段例如ID,问题就解决了。
总结:按时间来排序,每次执行所得到的顺序是不一样的。