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è)的寫法:
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)注明出處,謝謝!
您可能感興趣的文章:- mysql類似oracle rownum寫法實(shí)例詳解
- oracle中利用關(guān)鍵字rownum查詢前20名員工信息及rownum用法
- Oracle數(shù)據(jù)庫(kù)rownum和row_number的不同點(diǎn)
- oracle中rownum和row_number()
- Oracle查詢語(yǔ)句中rownum與rowid的不同之處分析
- 隨機(jī)獲取oracle數(shù)據(jù)庫(kù)中的任意一行數(shù)據(jù)(rownum)示例介紹
- Oracle中使用Rownum分頁(yè)詳細(xì)例子
- oracle的rownum深入解析
- ORACLE數(shù)據(jù)庫(kù)中Rownum用法詳解