N º salario máximo en Oracle
Para averiguar la sal máxima Nth en Oracle estoy usando la siguiente consulta
SELECT DISTINCE sal
FROM emp a
WHERE (
SELECT COUNT(DISTINCE sal)
FROM emp b
WHERE a.sal<=b.sal)=&n;
Pero de acuerdo con mí, utilizando la consulta anterior, tomará más tiempo ejecutar si el tamaño de la tabla es grande.
Estoy tratando de usar la siguiente consulta
SELECT sal
FROM (
SELECT DISTINCE sal
FROM emp
ORDER BY sal DESC )
WHERE rownum=3;
pero no obteniendo resultados ... ninguna sugerencia, por favor ... Comparta cualquier enlace sobre cómo optimizar las consultas y reducir el tiempo de ejecución de una consulta.