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
You can optimize the query using Dense_rank() function.
for Example :
select distinct salary from ( select salary ,dense_rank() over (order by salary desc) ranking from Employee ) where ranking = 6
Note: ranking 6 is the number of nth order.