rownum ist eine Pseudospalte, die Zeilen in der Ergebnismenge nach zählt die where-Klausel wurde angewendet.
Ist es das, was Sie erreichen wollen?
SELECT *
FROM (
SELECT id, column1, column2
FROM atable ORDER BY 2 DESC
)
WHERE ROWNUM < 100;
Da es sich um eine Pseudo-Spalte handelt, die ausschließlich ein Zähler der Zeilen ist, die sich aus der where-Klausel ergeben, erlaubt sie Ihnen keine Paginierung (d. h. zwischen 200 und 300).
Das ist wahrscheinlich das, wonach Sie suchen:
SELECT *
FROM
(SELECT a.*, rownum rnum FROM
(SELECT id, column1, column2 FROM atable ORDER BY 2 DESC) a WHERE rownum <= 300)
WHERE rnum >= 200;