RANK(), DENSE_RANK(), NTILE() 함수 사용하기
지난 포스팅에서 ROW_NUMBER() OVER(PARTITION BY ~ ORDER BY ~) 를 활용하여 랭킹을 매겼었다.이번 시간에는 RANK(), DENSE_RANK(), NTILE()를 활용하여 랭킹을 매겨보자. 보통 우리가 순위를 매길 때 공동 점수가 있으면 누적 순위를 할 것인지 그냥 할 것인지를 정해야되는데 이번 시간에 쿼리로 짜는 방법을 설명하려고 한다 CREATE TABLE score_tbl( seq INT, team_cd int, name VARCHAR(30), score INT ) GO INSERT INTO score_tbl(seq, team_cd, name, score) VALUES ( 1, 10, '호날두', 97 )INSERT INTO score_tbl(seq, team_cd,..
2018. 5. 19.
ROW_NUMBER() 사용 방법 - 순위를 매겨보자
MSSQL에서 ROW_NUMBER() 함수는 ROW에 번호를 붙이는 함수이다.이 함수는 PARTITION BY를 활용하면 사용 방안이 무궁무진하다GROUP BY와 같은 기능이며 디멘젼을 잘 넣어사용하면 큰 힘을 발휘하는 함수라고 볼 수 있다. ROW_NUMBER()를 활용해서 순위를 매겨보도록 하겠다. 참고로 순위를 매기는 함수는 RANK()함수가 별도로 있다. CREATE TABLE score_tbl( seq INT, name VARCHAR(30), score INT ) GO INSERT INTO score_tbl(seq, name, score) VALUES ( 1, '호날두', 11 )INSERT INTO score_tbl(seq, name, score) VALUES ( 2, '메시', 20 )INS..
2018. 5. 18.