<button id="ufg2m"><acronym id="ufg2m"></acronym></button>
        <span id="ufg2m"></span>
      1. <button id="ufg2m"><acronym id="ufg2m"></acronym></button>
        <progress id="ufg2m"><track id="ufg2m"><video id="ufg2m"></video></track></progress>
        <rp id="ufg2m"><object id="ufg2m"><input id="ufg2m"></input></object></rp>
          <dd id="ufg2m"></dd>

          <em id="ufg2m"><object id="ufg2m"></object></em>
          主頁 > 知識庫 > 數據庫 > Oracle >

          oracle rownum分頁出現重復數據

          來源:中國IT實驗室 作者:佚名 發表于:2013-07-16 15:47  點擊:
          oracle rownum分頁出現重復數據 通常一般的分頁語句如下: ? 1 2 3 4 5 6 7 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_ ? 當紅字部
           oracle rownum分頁出現重復數據  通常一般的分頁語句如下:
            ?
          1
          2
          3
          4
          5
          6
          7
          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 。
            只要將語句寫成:
          1
          2
          3
          4
          5
          6
          7
          8
          9
          10
          11
          12
          13
          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.
            另一種改法:
          1
          2
          3
          4
          5
          6
          7
          select *
          from (
          select row_.*, rownum rownum_
          from ( select p.id from table1 p
          order by p.DATA_UPDATE_TIME desc,p.id desc )
          row_ where rownum <= ?) b
          where b.rownum_ >?
            再加一個不重復的也就行了

            有幫助
            (1)
            100%
            沒幫助
            (0)
            0%
            yy午夜理伦4080菠萝视频无码_国产乱伦一级片_国产播放隔着超薄丝袜进入_在线观看AV无码片