oracle獲取前十條或者10到20條數據

Oracle中取得查詢結果的前10條或第10條到第20條記錄

 

ROWNUM常見的用途就是用來分頁輸出.

比如 SELECT name  FROM member WHERE ROWNUM <= 10 這條語句就是輸出前10條紀錄,類似於

sql sever的top(select top 10 * from tablename),不過rownum對於指定編號區間的輸出應該說更強大 SELECT name  FROM (SELECT name, ROWNUM rn FROM member ) WHERE rn >= 10 AND rn <= 20 這條語句即是輸出第10到第20條紀錄,爲什麼要用嵌套查詢呢?因爲rownum本身只能用 <=的比較方式,只有轉成實例才能做 >=的比較了。  

 

    在實際用途中,常常會要求取最近的幾條紀錄,這就需要先對紀錄進行排序後再取

rownum <= 一般常見的

SELECT  *  FROM (SELECT m.* FROM member m ORDER BY create_time DESC) WHERE ROWNUM <= 10 ,

 和

SELECT  m.*   FROM member m  WHERE ROWNUM <= 10 ORDER BY create_time DESC;

兩種

 這兩句主要的區別在於:是先排序後查,還是先查後排序。

顯然第一句是先排序後查,第二句是先查後排序,兩者的用途在於

自己想要得到什麼類的結果。

如果要寫入.xml文件中可將sql中的“<”和 ">" 轉換成對應的&lt;和&gt;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章