rownum là một cột giả đếm các hàng trong tập hợp kết quả sau mệnh đề where đã được áp dụng.
Đây có phải là những gì bạn đang cố gắng đạt được không?
SELECT *
FROM (
SELECT id, column1, column2
FROM atable ORDER BY 2 DESC
)
WHERE ROWNUM < 100;
Bởi vì đó là một cột giả hoàn toàn là một bộ đếm các hàng xuất phát từ mệnh đề where nên nó sẽ không cho phép bạn thực hiện phân trang (tức là từ 200 đến 300).
Đây có thể là những gì bạn đang tìm kiếm:
SELECT *
FROM
(SELECT a.*, rownum rnum FROM
(SELECT id, column1, column2 FROM atable ORDER BY 2 DESC) a WHERE rownum <= 300)
WHERE rnum >= 200;