如果order by的排序欄位的內容不是唯一的。
例如你按錄入日期(lrrq)排序(即 order by col_date),而col_date又只是「yyyy-mm-dd」的格式而不是時間戳的格式的話,你的排序欄位不唯一(有可能兩條以上的資料錄入日期都是 2008-11-26 ),在分頁的時候第一頁的內容有可能還會在第二頁中出現。
解決辦法也很簡單,你的排序欄位再多加乙個id(表的主鍵,唯一值),即order by col_date後在加上id。
這樣就可以避免分頁有重覆記錄出現的情況了,因為如果錄入日期相同的話,還會按id排序。
order by 導致分頁出現重複資料問題
有時候我們需要按照時間排序,並配合 limit 進行分頁查詢.但是,當 order by 的時間相同的時候 資料不唯一 系統對資料的排序可能變得隨機化,即一會兒這條資料在前面,一會兒這條資料在後面 所以,當翻頁的時候我們很容易便看到了重複的資料.在使用 order by 的時候,在本身需要排序的 目...
關於oracle分頁出現資料重複的問題
最終發現是排序導致的,我的sql根據建立時間進行排序,但是這些資料是系統自動生成的,很多資料的建立時間一樣,導致資料的排序變得隨機化。這個時候我們在order by後再加乙個pk排序即可。比如 修改前的sql select from table order by create date desc 修...
Oracle刪除重複資料
在oracle中,有個隱藏了自動rowid,裡面給每條記錄乙個唯一的rowid,我們如果想保留最新的一條記錄,我們就可以利用這個字段,保留重複資料中rowid最大的一條記錄就可以了。下面是查詢重複資料的乙個例子 select a.rowid,a.from 表名 a where a.rowid sel...