2013-09-25 5 views
0

Я все еще путаюсь с функцией оракула ROWNUM.Функция ORACLE ROWNUM (с использованием страницы разбиения)

Последний раз, когда я с помощью LIMIT в функции 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 из SEIAPPS_PRODUCTION_STATUS P, SEIAPPS_MODEL M –

Смежные вопросы