rownum è una pseudo colonna che conta le righe nel set di risultati dopo la clausola dove è stata applicata.
È questo che stai cercando di ottenere?
SELECT *
FROM (
SELECT id, column1, column2
FROM atable ORDER BY 2 DESC
)
WHERE ROWNUM < 100;
Perché è una pseudo colonna che è rigorosamente un contatore di righe risultanti dalla clausola where non ti consentirà di eseguire l'impaginazione (cioè tra 200 e 300).
Questo è probabilmente quello che stai cercando:
SELECT *
FROM
(SELECT a.*, rownum rnum FROM
(SELECT id, column1, column2 FROM atable ORDER BY 2 DESC) a WHERE rownum <= 300)
WHERE rnum >= 200;