Прежде всего, вы не можете ссылаться на вторую строку, используя условие rownum = 2
. Вы можете выбрать первые две строки, указав условие where rownum < 3
, или вы можете заключить его в другой запрос и ссылаться на ваш rownum
как обычный столбец.
Тогда вы не можете ссылаться на псевдоним столбца в предложении where
подзапроса, которому был назначен этот псевдоним.
Вы можете поднять его на один уровень вверх:
SELECT instmax
FROM (SELECT instmax, rownum r
FROM (SELECT instmax
FROM pswlinstmax
ORDER BY instmax DESC NULLS LAST)
)
WHERE r = 2;
или просто избегайте этой ссылки
-- this will return first two rows
SELECT instmax
FROM (SELECT instmax, rownum r
FROM (SELECT instmax
FROM pswlinstmax
ORDER BY instmax DESC NULLS LAST)
WHERE rownum < 3
);