N-ta maksymalna pensja w Oracle
Aby dowiedzieć się o N-tym maks salach w wyroczni, używam poniższego zapytania
SELECT DISTINCE sal
FROM emp a
WHERE (
SELECT COUNT(DISTINCE sal)
FROM emp b
WHERE a.sal<=b.sal)=&n;
Ale według mnie użycie powyższego zapytania zajmie więcej czasu, jeśli rozmiar tabeli jest duży.
Próbuję użyć poniższego zapytania
SELECT sal
FROM (
SELECT DISTINCE sal
FROM emp
ORDER BY sal DESC )
WHERE rownum=3;
ale nie uzyskuję danych wyjściowych .. wszelkie sugestie proszę .. Proszę podzielić się dowolnym linkiem na temat optymalizacji zapytań i skrócić czas wykonania zapytania.