검색결과 리스트
글
다음 함수들로 순서를 매길 수 있다.
다만, 특징이 있는데,
///// rank() over(order by)
-동일 한 값에 대해서 같은 순위가 적용된다. (순위는 중복 가능)(스포츠 경기에서 순위 매기는 것과 같다.)
SELECT CLASS, SCORE, RANK() OVER (ORDER BY SCORE DESC) RANK FROM TMP_TABLE;
-partition을 이용하여 클래스 라는 컬럼마다 적용
SELECT CLASS, SCORE, RANK() OVER (PARTITION BY CLASS ORDER BY SCORE DESC) RANK FROM TMP_TABLE;
///// rownumber() over(order by)
-동일한 값 내에서도 다른 순번이 적용된다. (순번은 중복 불가, UNIQUE함)
SELECT CLASS, SCORE, ROW_NUMBER() OVER (ORDER BY SCORE DESC) RANK FROM TMP_TABLE;
-partition을 이용하여 클래스 라는 컬럼마다 적용
SELECT CLASS, SCORE, ROW_NUMBER() OVER (PARTITION BY CLASS ORDER BY SCORE DESC) RANK FROM TMP_TABLE;
※ 참고
rank() over와 rownumber() over와의 차이 : http://codingdojang.com/scode/255
rank() over와 rownumber() over에서 partition by 쓰임새 : http://www.zetswing.com/bbs/board.php?bo_table=ORACLE_TIP&wr_id=18
'TOOL > DATABASE' 카테고리의 다른 글
EXISTS() 와 IN (0) | 2015.11.25 |
---|---|
DECODE() (0) | 2015.11.25 |
DB 심화 (0) | 2015.09.15 |
ORACLE쿼리를 MYSQL쿼리로 바꿔야할 상황이 생겼다. (1) | 2015.06.18 |
Oracle (0) | 2015.05.04 |