我们写分页的时候为了使得数据能够按日期倒序排序可能会在分页的基础上加上个order by 时间,由此可能会出现第一页和第二页数据重复的问题
此情况出现的原因是因为我们所order by的时间相同导致的 , 当 order by的时间相同的时候 系统对数据的排序可能变得随机化,即一会儿这条数据在前面,一会儿这条数据在后面了 ,所以 当翻页的时候我们很容易便看到了重复的数据,所以在分页的时候使用oerder by的时候最后在目标排序字段的基础上加上一个 有办法唯一的字段对 数据进行排序
一、 oracle 分页 当年在学校怎么也学不会的东西,现在突然变得那么如此简单,这便是成长
1
2
3
4
|
<span></span>
select
*
from
(
select
rownum rn, p.*
from
product p)
where
rn
between
1
and
9<span></span>
|
二、 order by 时间数据重复问题的正确处理手段
select up_time, id from (select rownum rn, p.* from product p) where rn between 1 and 9 order by up_time desc ,order by id desc