酷知百科網

位置:首頁 > 遊戲數碼 > 電腦

oracle如何實現分頁

電腦1.9W

使用oracle數據庫查詢數據時,每頁展示數據有限,大部分情況下需要分頁展示。如每頁顯示10條,一頁一頁查詢出來。下面就來介紹下oracle分頁實現

操作方法

(01)使用T_BASE_PROVINCE表作爲測試演示使用,表字段如下IDNUMBER(11,0)PROVINCEIDVARCHAR2(6 BYTE)PROVINCEVARCHAR2(40 BYTE)數據可以根據自己的需要,插入一定量的測試數據

oracle如何實現分頁

(02)查詢下總共數據量select count(*) from T_BASE_PROVINCE;在分頁的時候,一般會顯示總頁數,需要先查詢總數據量得到總頁數,總頁數=總量/每頁顯示記錄數

oracle如何實現分頁 第2張

(03)前面的測試數據初始化完成之後,查詢前20條大概有什麼樣的數據

oracle如何實現分頁 第3張

(04)分頁語句一:含order by排序,多一層嵌套,因爲order by在select之後執行,不在裏面寫的話可能會出現不是預期的排序結果select *from (select t.*, rownum rnfrom (select *from T_BASE_PROVINCEorder by id asc) twhere rownum <= 20)where rn > 10;

oracle如何實現分頁 第4張

(05)分頁語句二:如果不需要排序,可以使用如下語句select a1.*from (select t.*,rownum rnfrom T_BASE_PROVINCE twhere rownum <=20) a1where rn >10;

oracle如何實現分頁 第5張

(06)分頁語句三:between and方式,性能沒有上面的高,但寫法簡單select a1.*from (select t.*,rownum rn from T_BASE_PROVINCE t) a1where rn between 11 and 20;

oracle如何實現分頁 第6張

(07)通用分頁格式,page是頁碼,size是每頁顯示條數select *from (select t.*, rownum rnfrom (select *from T_BASE_PROVINCEorder by id asc) twhere rownum <= page*size)where rn > (page-1)*size;

特別提示

以上只是針對簡單的單句分頁查詢,聯表查詢可以按照上面的方式適當改造就可以了

標籤:oracle 分頁