Oracle的偽列rownum可以標識一條數(shù)據(jù)的行號,它常用做分頁,起到MySql數(shù)據(jù)庫中l(wèi)imit語句同樣的作用。
在使用rownum時,一個要特別注意的地方是Rownum是在查詢之后排序之前賦值的,不能用于在一次查詢中對行進行限制。要使用rownum對行集進行進行有效控制,必須使用子查詢。
我們可以先看看下面的數(shù)據(jù):

其中已經(jīng)按照年齡排序完畢。如果這時想用rownum拿出前三條會出現(xiàn)錯誤結(jié)果,圖示如下:

明顯與預(yù)想不符,正確的應(yīng)該使用子查詢來做,如下:
select * from
(
select t01.*,
rownum as ageOrderNum
from (
select ID, NAME, AGE, EMAIL
from employee
order by age
) t01
) t02
where t02.ageOrderNum<4
查詢出來的結(jié)果如下:

另外一個查詢例子,找出第4,5,6個年齡最小者。
在使用rownum時,一個要特別注意的地方是Rownum是在查詢之后排序之前賦值的,不能用于在一次查詢中對行進行限制。要使用rownum對行集進行進行有效控制,必須使用子查詢。
我們可以先看看下面的數(shù)據(jù):

其中已經(jīng)按照年齡排序完畢。如果這時想用rownum拿出前三條會出現(xiàn)錯誤結(jié)果,圖示如下:

明顯與預(yù)想不符,正確的應(yīng)該使用子查詢來做,如下:












查詢出來的結(jié)果如下:

另外一個查詢例子,找出第4,5,6個年齡最小者。
