oracle(三) 分頁排序

2021-09-19 08:15:20 字數 1154 閱讀 6005

目錄

排序分頁sql

不排序只分頁sql: 總結

oracle的分頁不像mysql有limit可以分頁,oracle的分頁需要用到oracle自帶的rownum偽列進行分頁。

在沒有排序沒分頁的情況下:select user_id,user_name,rownumfrom sec_users;結果如下:

但如果加上了排序如根據user_id進行排序之後,rownum就會被打亂,因為rownum是根據還未排序的時候來編排的。

如:select user_id,user_name,rownum from sec_usersorder by user_id;結果如下:

所以在進行含有排序的分頁時sql要再套一層以便獲取排序後的正常的rownum,以便用正常的rownum進行分頁。進行第二頁資料的篩選的sql如下:

但如果不包含排序,分頁的sql其實可以不用套兩層,sql如下:

需要排序的時候要套兩層,不需要排序的時候就不需要套兩層而只需套一層即可。

oracle學習筆記三(分頁查詢)

oracle分頁查詢 一共三種方式 1.rownum分頁 select from emp 2.顯示rownum oracle分配的 select a1.rownum rn from select from emp a1 查詢1到10行記錄 select a1.rownum rn from selec...

Mybatis Plus學習筆記(三) 分頁查詢

本系列部落格其他文章下方鏈結檢視 mybatis plus學習筆記 目錄 mybatis的rowbounds就可以實現分頁,但是這是一種記憶體分頁,他的原理是把符合邏輯的記憶體全部查出,然後展示需要的資料。如果資料量小的時候,完全可以使用,但是當資料量大的時候,就是對記憶體的一種浪費。mp分頁外掛程...

linux記憶體管理(三) 分頁管理機制

前面已經說了,利用計算機的區域性性原理,將記憶體細粒化,分成乙個個4kb大小的頁,然後與虛擬位址進行對映,這樣可以每次先對映需要用到的和載入經常用到的內容。我們可以看到程序1和程序2的虛擬位址空間都被對映到了不連續的實體地址空間內 這個意義很大,如果有一天我們的連續實體地址空間不夠,但是不連續的位址...