日期:2014-05-17  浏览次数:20860 次

oracle 分页查询数据量不对 急~~~ 在线等
SELECT *
  FROM (SELECT ROWNUM AS my_rownum, m_3.*
          FROM (SELECT t2.*
                  FROM productstr t2, serv_st t1, userst ut
                 WHERE 1 = 1
                   AND t2.servid = t1.servid
                   AND t2.userid = ut.userid
                   AND t1.branch in ('XA')
                   AND t2.pcode = '000001'
                   and t2.permark in ('1')
                   and t2.opdate >=
                       to_date('2013-07-05 00:00:00', 'yyyy-mm-dd hh24:mi:ss')
                   and t2.opdate <=
                       to_date('2013-07-08 23:59:59', 'yyyy-mm-dd hh24:mi:ss')) m_3
         WHERE ROWNUM <= 100)
 WHERE my_rownum >= 51


本来想查出50条数据,却查出75条数据

------解决方案--------------------
经过查证,
  原因:myrow_num 这个字段是不固定的,也就是说是动态的,随时都可能在改变,导致数据出现重复,如果这个字段是固定的,就不会出现重复数据
  解决办法:如果不能确定排序字段是唯一的,必须添加另外一个排序字段,该字段最好是唯一索引键