To find out the Nth max sal in oracle i\'m using below query
SELECT DISTINCE sal FROM emp a WHERE ( SELECT COUNT(DISTINCE sal) FROM emp b
The following solution works from 12c onwards:
Select min(sal) from emp where Sal in ( select distinct (sal) from emp order by sal desc fetch first n rows only);
Replace n as per your requirement
n