ORACLE 排名分頁

2021-07-09 10:08:13 字數 2617 閱讀 9522

rownum含義

舉例說明:

sql> selectrownum,ename,job,sal from emp where rownum=1;

rownum ename      job             sal

-------------------- --------- ---------

1 smith      clerk        800.00

sql> selectrownum,ename,job,sal from emp where rownum=2;

rownum ename      job             sal

-------------------- --------- ---------

sql> selectrownum,ename,job,sal from emp where rownum<=6;

rownum ename      job             sal

-------------------- --------- ---------

1 smith      clerk        800.00

2 allen      salesman    1760.00

3 ward       salesman    1250.00

4 jones      manager     2975.00

5 martin     salesman   1250.00

6 blake      manager     2850.00

sql> selectrownum,ename,job,sal from emp where rownum between 2 and 6;

rownum ename      job             sal

-------------------- --------- ---------

sql> selectrownum,ename,job,sal from emp where rownum between 1 and 6;

rownum ename      job             sal

-------------------- --------- ---------

1 smith      clerk        800.00

2 allen      salesman    1760.00

3 ward       salesman    1250.00

4 jones      manager     2975.00

5 martin     salesman   1250.00

6 blake      manager     2850.00

總結:有上述幾個例子可以說明,rownum的執行機制

1)、首先從表裡面查詢出資料,然後將資料進行編號(編號始終是從

1開始的) 2

)、編完號後,再通過

where

後面的查詢條件對資料進行過濾 當

rownum=1

時,正好匹配,則將查詢出的資料進行輸出 當

rownum=2

時,無法匹配,則將編號為

rownum=1

的資料進行過濾,緊接著查詢第二條資料,繼續從

1開始編號

…...

匹配…… 分頁

sql> selectrn,ename,job,sal from (select rownum rn,ename,job,sal from emp whererownum<=6) where rn>=4;

rn ename      job             sal

-------------------- --------- ---------

4 jones      manager     2975.00

5 martin     salesman   1250.00

6 blake      manager     2850.00

解析:將select rownum rn,ename,job,sal from emp whererownum<=6看做乙個臨時的中間表,從而可以實現將中間表中的資料隨意取出。

先排序,再取出

sql> selectrn,ename,job,sal from (select rownum rn,ename,job,sal from (selectename,job,sal from emp order by sal desc) where rownum<=6) where rn>=4;

rn ename      job             sal

-------------------- --------- ---------

4 jones      manager     2975.00

5 blake      manager     2850.00

6 clark      manager     2450.00

Oracle 排名 分析函式

分析函式 1.row number over order by asc desc select ename,deptno,row number over order by deptno asc 排名 from emp 2.rank over order by asc desc 排名 根據over 後...

SEOVIP排名分析顛覆傳統SEO優化觀

在進入seo行業一年半左右時間裡,一直以來的理念都是主推 整體優化,而關鍵字優化則是其次。自從6jzxcoihn月份至今搜尋引擎演算法www.cppcns.com多次調整,我對seo的有了小小的改變。尤其是robin的seovip站點迅速達到熱門關鍵詞排名,再次www.cppcns.com讓我對於s...

IHS光伏逆變器供應商排名分析

分析師對逆變器 商進行全面評估發現sma solaredge 施耐德電氣,陽光電源,華為和abb分別都擁有一定的實力,使他們能夠服務於不同的市場。給逆變器 商排名看似簡單,涉及到評審全球收入份額和出貨量,但分析公司ihs在其最近的光伏逆變器 商記分卡方面,基於全新的一套指標,對領先逆變器 商的效能進...