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