기본 콘텐츠로 건너뛰기

라벨이 랭킹인 게시물 표시

SQL RANK - 순위 매기기

SQL의 rank 함수를 사용해서 데이터의 순위를 매길 수 있다. 아래의 샘플 테이블을 통해 살펴보자. 1 2 3 4 5 6 7 8 9 10 CREATE TABLE body (height float, _name text); INSERT INTO body VALUES ( 174 . 52 , 'Tom' ); INSERT INTO body VALUES ( 167 . 33 , 'Lucy' ); INSERT INTO body VALUES ( 174 . 52 , 'Frank' ); INSERT INTO body VALUES ( 168 . 89 , 'Jane' ); INSERT INTO body VALUES ( 177 . 80 , 'Robert' ); INSERT INTO body VALUES ( 175 . 77 , 'Robert' ); INSERT INTO body VALUES ( 175 . 77 , 'Robert' ); INSERT INTO body VALUES ( 170 . 40 , 'Robert' ); 랭킹을 매기는 코드는 아래와 같다. 1 2 3 select rank () over (partition by _name order by height desc ) as rankig, _name, height from body ; 위 코드를 실행시키면 아래와 같은 결과를 얻을 수 있다. 기본 문법은 rank () over (partition by columns order by columns)이다. 더 자세히 살펴보자. - order by는 랭킹을 매기는 기준을 나타낸다. 다시말해 order by의 칼럼을 기준으로 랭킹을 매긴다. Robert의 키가 큰 순서로 랭킹을 매기기 위해 d