我仍然对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;
我使用它是因为我有分页页面。
任何人都请建议。
答案 0 :(得分: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;