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
Now you try this you will get for sure:
SELECT DISTINCT sal FROM emp a WHERE ( SELECT COUNT(DISTINCT sal) FROM emp b WHERE a.sal<=b.sal)=&n;
For your information, if you want the nth least sal:
SELECT DISTINCT sal FROM emp a WHERE ( SELECT COUNT(DISTINCT sal) FROM emp b WHERE a.sal>=b.sal)=&n;