rownum es una pseudocolumna que cuenta filas en el conjunto de resultados después se ha aplicado la cláusula where.
¿Es esto lo que estás tratando de conseguir?
SELECT *
FROM (
SELECT id, column1, column2
FROM atable ORDER BY 2 DESC
)
WHERE ROWNUM < 100;
Debido a que es una pseudocolumna que es estrictamente un contador de filas resultantes de la cláusula where, no le permitirá hacer paginación (es decir, entre 200 y 300).
Esto es probablemente lo que estás buscando:
SELECT *
FROM
(SELECT a.*, rownum rnum FROM
(SELECT id, column1, column2 FROM atable ORDER BY 2 DESC) a WHERE rownum <= 300)
WHERE rnum >= 200;