SW-PRODUCT/개발-데이터분석
PostgreSQL : row_number vs rank vs dense_rank
굴돌
2016. 11. 11. 14:02
row_number : 몇번째 줄인지를 알려줌. 10개의 row가 있으면 항상 1~10이 빠짐없이 부여된다.
rank : 동점이 있을 경우 같은 등수를 부여하고, 동점 갯수만큼 순위를 건너뛰어 부여한다. 즉, 2등이 동점일 경우 2등이 둘, 3등 없고, 4등부터 부여된다.
dense_rank : 동점이 있을 경우 같은 등수를 부여하고, 차순위자에게 바로 +1한 등수를 부여한다. 즉, 2등이 동점일 경우 2등이 둘이고 차상위자가 3등이 된다.
PostgreSQL의 Window Function : https://www.postgresql.org/docs/9.3/static/functions-window.html