oracle 取前10條記錄


1.oracle 取前10條記錄

 1) select * from tbname where rownum < 11;

 2) select * from (select * from tbname order by id desc ) where rownum<=10;

 2、oracle 取第一條記錄

 select * from tbname where rownum =11;

下面是關於rownum的介紹
================================
三、 Rownum和row_number() over()的使用
ROWNUM是oracle從8開始提供的一個偽列,是把SQL出來的結果進行編號,始終從1開始,常見的用途就是用來分頁輸出.
比如 
SELECT *
  FROM torderdetail a
  WHERE ROWNUM <= 10
這條語句就是輸出前10條紀錄,在這里用途上類似於sql sever的top,不過rownum對於指定編號區間的輸出應該說更強大
SELECT *
  FROM (SELECT a.*, ROWNUM rn
  FROM torderdetail a)
  WHERE rn >= 10 AND rn <= 20
這條語句即是輸出第10到第20條紀錄,這里之所以用rownum rn,是把rownum轉成實例,因為rownum本身只能用<=的比較方式,只有轉成實列,這樣就可做 >=的比較了。
在實際用途中,常常會要求取最近的幾條紀錄,這就需要先對紀錄進行排序后再取rownum<=
一般常見的
SELECT *
  FROM (SELECT a.*
  FROM torderdetail a
  ORDER BY order_date DESC)
 WHERE ROWNUM <= 10


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM