IT모아

오라클에서의 LIMIT절과 같은 기능!!! 본문

Oracle

오라클에서의 LIMIT절과 같은 기능!!!

아롱사태남 2014.04.23 15:10

My-SQL 에서는 LIMIT절을 통하여 순서를 매긴다

인포믹트 에서는 SKIP 과 FIRST를 통하여 순서를 매긴다

 

 

RANK OVER() 와 ROW_NUMBER() OVER() 의 차이점

- RANK() OVER()는 동일 순위인 경우 1,1,3 형식으로 출력한다

- ROW_NUMBER() OVER()는 동일 순위인 경우 1,2,3 형식으로 출력한다.

 

Tip   분석함수!!

 

+ partition by를 사용하면 전체를 한그룹으로 보는것이 아니라 partition by에 사용된 컬럼을 기준으로

그룹을 나누어 순위 부여. 

over() 함수는 필수

over() 함수 안에 order by 절에는 출력컬럼을 모두 써준다.

partition by을 사용하면 출력 결과를 하나의 그룹으로 보는 것이 아님. 사용된 컬럼을 기준으로 그룹을 나눔

 

 

 

 

결론 !!

이렇게 사용하면 된다 ^^ (페이징 처리 할때 쿼리문)

예제)


SELECT  컬럼
FROM (SELECT 컬럼,
ROW_NUMBER() OVER (ORDER BY 컬럼 desc) R FROM svr_oprn_info)
WHERE R BETWEEN 0 and 20;   

 

 

 

0 Comments
댓글쓰기 폼