본문 바로가기
Oracle(DB관련)

순서정하기 rank()

by xfree302 2009. 11. 4.
반응형

SELECT code01, code02, name, point,
       ROW_NUMBER() OVER(PARTITION BY code01 ORDER BY point) as num,
       RANK() OVER(PARTITION BY code01  ORDER BY point) as rank,
       DENSE_RANK() OVER(PARTITION BY code01 ORDER BY point) as dense
FROM tb_aaa;

ROW_NUMBER()는 정렬된 순서로 유일값의 번호를 부여한다.
RANK()는 동점자에 같은 번호를 부여하고 다음, 사람에게는 동점자의 수만큼의 번호를 지난 다음번호를 부여한다.
DENSE_RANK()는 동점자에 같은 번호를 부여하고, 동점자에게 부여된 다음 번호를 부여한다.
 
반응형

'Oracle(DB관련)' 카테고리의 다른 글

날짜함수  (0) 2009.11.04
그룹별 합계, 누적합계 sum()  (0) 2009.11.04
sys_connect_by_path row데이터를 column데이터로  (0) 2009.11.04
merge into 있으면 update, 없으면 insert  (0) 2009.11.03
페이징 처리 sql  (0) 2009.10.29