2007年6月5日 星期二

ORACLE SELECT 查詢指定傳回筆數

ORACLE 中 SELECT 指令沒有類似 MySQL 中有 LIMIT 的參數可以使用來限制傳回資料的筆數,但是可以利用 ORACLE 中 ROWNUM 的值作一點手腳來限制傳回值的範圍。

ROWNUM 說明:
1. ORACLE 使用 ROWNUM 作為查詢結果行的編號,第一行是1,第二行是2, 以此類推,可以用於限制查詢返回的總行數。
2. ROWNUM 的值在查詢結果輸出時自動產生,因此不能以任何表格名稱作為首碼,因此下面的結果查詢不到任何的記錄。
SQL>select rownum, a, b from table_a where rownum=2;
SQL>select rownum, a, b from table_a where rownum>5;

使用 ROWNUM 限制資料範例:
查詢表格 TABLE_A中欄位 ID,並以 ID 排序,限制第 5筆至第10筆。
SQL>SELECT * FROM (SELECT ROWNUM ROW_ID, ID FROM TABLE_A ORDER BY ID) WHERE ROW_ID BETWEEN 5 AND 10;

沒有留言: