기본 콘텐츠로 건너뛰기

라벨이 rank인 게시물 표시

SQL PERCENT_RANK - 상대 순위 매기기

SQL의 percent_rank 함수를 사용해서 데이터의 상대 순위를 매길 수 있다. 순위를 매기는 방식은 기본적으로 rank 함수와 같다. rank 함수에 대한 설명은 "SQL RANK - 순위 매기기" 포스팅에서 자세히 확인할 수 있다. percent_rank는 1등을 0, 마지막 등수를 1로 출력한다는 점이 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 percent_rank () over (partition by _name order by height desc ) as percent_ranking, _name, height from body ; 위 코드를 실행시키면 아래와 같은 결과를

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