0

我仍然对 ROWNUM oracle 函数感到困惑。

上次我在 MySQL 函数中使用 LIMIT 是这样的:

$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;

但是现在我如何在 ORACLE 中使用 ROWNUM 呢?

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

我使用它是因为我有分页页面。

请任何人指教。

4

1 回答 1

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;
于 2013-09-25T07:53:22.193 回答