-
[오라클] RANK OVER PARTITION BYSQL 2017. 7. 23. 16:35반응형
조회된 로우(행)들의 순위를 정할때 쓰는 함수
아래와 같은 테이블이 있을때 가정하고
STUDENT 테이블
(이름) (반) (점수)
NAME | CLASS | SCORE
----------------------------
TTT | A | 90
AAA | A | 80
BBB | B | 100
CCC | A | 10
DDD | B | 40
EEE | B | 60
FFF | A | 20select NAME, SCORE, rank() over(partition by CLASS order by SCORE desc) RANK
from STUDENT
사용방법은 partition by CLASS를 쓰면 학급별로 순위를 만들고
order by SCORE 점수의 desc로 정렬해서 순위를 매긴다
당연히 partition by 의 조건을 빼면 AB반 통합 순위가 된다.결과는 아래와 같이 나온다.
(이름) (학급) (점수)
NAME | CLASS | SCORE | RANK
------------------------------------
TTT | A | 90 | 1
AAA | A | 80 | 2
FFF | A | 20 | 3
CCC | A | 10 | 4
BBB | B | 100 | 1
EEE | B | 60 | 2
DDD | B | 40 | 3출처
http://sepiroth11.tistory.com/m/entry/오라클-RANK-OVER-PARTITION-BY
반응형'SQL' 카테고리의 다른 글
[오라클] 게시판 이전페이지, 다음페이지값 얻기 (LEAD, LAG) (0) 2017.10.29 [오라클] JOIN 후 UPDATE (0) 2017.07.23 [오라클] ORACLE 계정내 모든 테이블들의 로우 카운트(행수) 조회 (0) 2017.06.09 오라클 완전기초 (0) 2017.01.24 오라클 한테이블내 A컬럼,B컬럼의 서로 값 바꾸기 (0) 2017.01.04