본문 바로가기

DataBase/Oracle

[오라클]Top n 구현하기

Top n 구현하기

MS SQL의 Top n과 같이 상위 몇개등을 추출하는 예 입니다.

참고 하세요...


==============================


select ename, sal
from emp  

minus  

select ename, sal
from emp          
where sal in (select min(sal)
                    from emp
                    group by sal)  
and rownum <= (select count(*) - &top
                        from emp)  
order by 2 desc;

 

 

====================== 황호

 

^^
위의 sql은 5 미만의 top은 제어가 안되네요...

참고가 많이 되었습니다.
감사합니다.
---------------------------------------------------

select ename, sal
from emp  
minus  
여기까지는 삭제하고

(count(*) - count(*) ) +  &top 여기는 바꾸었습니다.

---------------------------------------------------
select ename, sal
from emp          
where sal in (select min(sal)
                    from emp
                    group by sal)  
and rownum <= (select (count(*) - count(*) ) +  &top
                        from emp)  
order by 2 desc;