最終發現是排序導致的,我的sql根據建立時間進行排序,但是這些資料是系統自動生成的,很多資料的建立時間一樣,導致資料的排序變得隨機化。
這個時候我們在order by後再加乙個pk排序即可。
比如:修改前的sql:
select * from table order by create_date desc
修改後的sql:
select * from table order by create_date desc, id
這個時候排序的字段資料不會再重複,就能夠解決分頁出現重複資料的問題。
oracle分頁出現重複資料
如果order by的排序欄位的內容不是唯一的。例如你按錄入日期 lrrq 排序 即 order by col date 而col date又只是 yyyy mm dd 的格式而不是時間戳的格式的話,你的排序欄位不唯一 有可能兩條以上的資料錄入日期都是 2008 11 26 在分頁的時候第一頁的內容...
Oracle 分頁查詢與資料去重
oracle下select語句每個結果集中都有乙個偽欄位 偽列 rownum存在。rownum用來標識每條記錄的行號,行號從1開始,每次遞增1。rownum是虛擬的順序值,前提是先排序 使用rownum需注意 1.rownum的是在取資料的時候產生的序號 當rownum和order by一起使用時,...
關於Oracle分頁
connected to oracle9i enterprise edition release 9.2.0.6.0 connected as dev sql sql set timing on sql create table test table as 2 select rownum x 3 f...