oracle 使用rownum的三種分頁(yè)方式
rownum是Oracle數(shù)據(jù)庫(kù)中的一個(gè)特有關(guān)鍵字,返回的是一個(gè)數(shù)字代表記錄的行號(hào)。
基礎(chǔ)知識(shí):rownum只能做<或者<=的條件查詢,如果要rownum進(jìn)行51到100這樣的范圍判斷,需要先查詢出每一行的rownum,再用那個(gè)序號(hào)做判斷
獲取51到100的數(shù)據(jù)
三種分頁(yè)的寫(xiě)法:
1.使用minus,原理就是查詢出前100行的數(shù)據(jù) 減去 查詢出前50行的數(shù)據(jù)
select * from DATA_TABLE_SQL where rownum<=100 minus select * from DATAT_ABLE_SQL where rownum<=50
2.查詢出所有數(shù)據(jù)的rownum,然后再選擇50到100的數(shù)據(jù)(不推薦)
select * from (select t.*,rownum num from DATA_TABLE_SQL t) where num<=100 and num>50
3.限定范圍100條數(shù)據(jù),并查詢出這100條的rownum,然后再選擇50到100的數(shù)據(jù)
select * from (select t.*,rownum num from DATA_TABLE_SQL t where rownum<=100 ) where num>50
下面給大家拓展兩個(gè)分頁(yè)查詢語(yǔ)句:
1:?jiǎn)伪聿樵?/strong>
SELECT * FROM (SELECT t.*,ROWNUM r FROM TABLE t WHERE ROWNUM <= pageNumber*pageSize) WHERE r >(pageNumber)*pageSize
2:兩張表聯(lián)查
SELECT * FROM (SELECT ROWNUM RN,XX.* FROM (SELECT 表名.字段名, 表名.字段名, 表名.字段名... FROM TABLE1 t1, TABLE2 t2 WHERE t1.字段=t2.字段) XX WHERE ROWNUM<=pageSize*pageNumber) WHERE RN >(pageNumber-1)*pageSize
總結(jié)
以上所述是小編給大家介紹的oracle 使用rownum的三種分頁(yè)方式,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺(jué)得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!
相關(guān)文章
Oracle 左連接(+)加號(hào)用法及常用語(yǔ)法之間的關(guān)系
通過(guò)分析左連接(+)加號(hào)的寫(xiě)法和一些常用語(yǔ)法之間的聯(lián)系,了解到Oracle 加號(hào)(+)的用法。本文重點(diǎn)給大家介紹Oracle 左連接(+)加號(hào)用法及常用語(yǔ)法之間的關(guān)系 ,感興趣的朋友跟隨小編一起看看吧2018-10-10Oracle數(shù)據(jù)庫(kù)中如何給表賦予權(quán)限
賦權(quán)是指將特定的權(quán)限授予用戶或用戶組,以便他們可以執(zhí)行特定的操作,如查詢、插入、更新和刪除數(shù)據(jù),創(chuàng)建和修改表結(jié)構(gòu),以及執(zhí)行其他管理任務(wù),這篇文章主要給大家介紹了關(guān)于Oracle數(shù)據(jù)庫(kù)中如何給表賦予權(quán)限的相關(guān)資料,需要的朋友可以參考下2024-01-01Orcale 數(shù)據(jù)庫(kù)客戶端PL/SQL 中文亂碼的問(wèn)題解決方法
這篇文章主要介紹了Orcale 數(shù)據(jù)庫(kù)客戶端PL/SQL 中文亂碼的問(wèn)題解決方法,需要的朋友可以參考下2014-05-05Oracle下的Java分頁(yè)功能_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
分頁(yè)的時(shí)候返回的不僅包括查詢的結(jié)果集(List),而且還包括總的頁(yè)數(shù)(pageNum)、當(dāng)前第幾頁(yè)(pageNo)等等信息,所以我們封裝一個(gè)查詢結(jié)果PageModel類,具體實(shí)現(xiàn)代碼,大家參考下本文2017-08-08plsql連接oracle數(shù)據(jù)庫(kù)報(bào)ora 12154錯(cuò)誤解決方法
今天遇到一個(gè)問(wèn)題,plsql連接oracle數(shù)據(jù)庫(kù)報(bào)ora 12154錯(cuò)誤,本文將為您詳細(xì)介紹此等問(wèn)題的解決方法2012-11-11oracle數(shù)據(jù)庫(kù)如何給用戶授權(quán)查詢權(quán)限
這篇文章主要給大家介紹了關(guān)于oracle數(shù)據(jù)庫(kù)如何給用戶授權(quán)查詢權(quán)限的相關(guān)資料,授予權(quán)限是數(shù)據(jù)庫(kù)管理中的重要任務(wù),它可以確保用戶有權(quán)訪問(wèn)所需的數(shù)據(jù)庫(kù)對(duì)象,并執(zhí)行必要的操作,需要的朋友可以參考下2024-01-01win10系統(tǒng)安裝oracle11g時(shí)遇到INS-13001環(huán)境不滿足最低要求解決辦法
這篇文章主要介紹了win10系統(tǒng)安裝oracle11g時(shí)遇到INS-13001環(huán)境不滿足最低要求解決辦法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-09-09oracle創(chuàng)建數(shù)據(jù)庫(kù)和用戶的方法
這篇文章主要介紹了oracle創(chuàng)建數(shù)據(jù)庫(kù)和用戶的方法,mysql和sqlserver創(chuàng)建數(shù)據(jù)庫(kù)可以直接通過(guò)create database “數(shù)據(jù)庫(kù)名”,而oracle創(chuàng)建數(shù)據(jù)庫(kù)要對(duì)應(yīng)一個(gè)用戶,數(shù)據(jù)庫(kù)和用戶一般是一一對(duì)應(yīng)的,下面把oracle創(chuàng)建數(shù)據(jù)庫(kù)和用戶的步驟分享給大家。2015-07-07oracle中如何查詢所有用戶表的表名、主鍵名稱、索引及外鍵等
在與Oracle進(jìn)行數(shù)據(jù)庫(kù)操作時(shí),往往會(huì)需要查詢數(shù)據(jù)庫(kù)表列表,以便對(duì)其進(jìn)行操作,這篇文章主要給大家介紹了關(guān)于oracle中如何查詢所有用戶表的表名、主鍵名稱、索引及外鍵等的相關(guān)資料,需要的朋友可以參考下2023-12-12