oracle中order by造成分頁錯誤

2022-01-19 08:23:37 字數 675 閱讀 8770

問題:今天在工作中,在service中呼叫分頁查詢列表介面的時候,返回的到頁面的資料中總是存在缺失的資料,還有重複的資料。

分析:select * from (select rownum rn,t.* from (select * from student order by class) t where rownum #) where rn =]]>#

當endindex為3和為5的時候rownum發生了變化

idstudent

class

rownum

zhao

qian

liid

stuent

class

rownum

zhao

lisong

qian

yang

在上表中qian 和li 的rownum發生了變化

總結:oracle分頁語句中:

1 不存在order by 則系統根據rowid來排序

2 若存在order by 則order by 後面的限制的列必須要能確定唯一,或者最小粒度的列能確定唯一(如id列)如上class都相同,則可以加上

order by class,id   或者  order by class,rowid

Oracle中的order by分頁排序問題

今天在系統測試的過程中,測試人員發現自己新新增的科目新增到系統中在頁面預設分頁查詢中沒有找到自己新加的科目 分頁過程中頁面顯示資料確實和資料表中的資料總量一致 但是通過系統的搜尋功能是可以查詢的到資料?提了乙個bug?解決bug的過程 系統中有乙個科目表subject manage表結構如下 cre...

ORACLE的order by中文排序

在使用order by排序的時候,出現如下情況 印象中中文排序應該預設是按照拼音排序的,為何 鑫 會排在 中 的後面呢?猜想order by是不是根據對應字元的ascii碼排的呢,因此列出了對應的ascii,如下 由此基本可以斷定,確實是通過ascii的大小來排序的,這也解釋了為什麼數字會排在字母之...

Oracle批量造資料

今天專案中要做效能測試,需要在oracle中乙個表造5000萬的資料,總結如下 1.最好10000次提交一次 2.注意表空間的大小 3.面對主鍵唯一的情況,最好用乙個單獨的計數器,直接用i j會有重複,插入不成功 create orreplace procedure sp proc1 asv num...