2013-09-25 148 views
0

我仍然與ROWNUM oracle函數混淆。ORACLE ROWNUM函數(使用分頁頁)

在MySQL功能使用極限,我

一次做這樣的:

$page -= 1; 
$per_page = 3; 
$previous_btn = true; 
$next_btn = true; 
$first_btn = true; 
$last_btn = true; 
$start = $page * $per_page; 

$sql = ... WHERE ... LIMIT $start, $per_page; 

但現在我怎樣才能使用ROWNUM在ORACLE?

$sql = ... WHERE ... ROWNUM $start, $per_page; 

我使用這個,因爲我有分頁頁面。

任何人都請指教。

回答

0

在Oracle中,Rownum值只在查詢的過濾階段後分配,因此您必須將其作爲內聯視圖。像,

select * 
    from (select col1, col2, ROW_NUMBER() OVER(ORDER BY col1 ASC) RowNumber 
     FROM table) 
where rownumber between 1 and 10 

或者

select * 
    from (select col1, col2, ROW_NUMBER() OVER(ORDER BY col1 ASC) RowNumber 
     FROM TABLE) 
WHERE RowNumber > 1 AND RowNumber < 10; 
+0

我試過了,但是當我打開下一個頁面,它不加載數據。 –

+0

請發表您的查詢。 – Dba

+0

這裏它:SELECT P.PRODUCTION_STATUS,P.DATE_ADDED,P.FORM_NO,P.MODEL_NO,M.MODEL_NO,rownum from SEIAPPS_PRODUCTION_STATUS P,SEIAPPS_MODEL M –