긴 셀렉트 쿼리를 보면 ROW_NUMBER() OVER(order by 컬럼) RANK 이런식으로 순위를 매긴걸 자주 볼수가 있는데요
명시한 컬럼을 기준으로 1,2,3,... 순위를 나열하기 위해서 필요한 게 맞나요? 순위는 중복되지 않는다고 알고 있습니다.
만들어진 순위 RANK를 가지고 where문에서 뭔가를 많이 다루는 거 같더라구요
by 마농
[2020.04.16 13:24:25]
단순 기능으로만 보면 번호 매기는 함수 맞습니다.
단순하게는 번호 매길 필요가 있을 때 사용하구요.
번호를 매김으로 인해 이를 활용하여 여러가지를 할 수 있습니다.
- 패이징 처리 WHERE rn BETWEEN 1 AND 10
- 최근자료만 조회하기 WHERE rn = 1
- 기타 등등 ...
rank 라는 또 다른 함수도 있으므로, 알리아스로 rank 를 쓰는 것은 바람직하지 않구요.
by 킹오
[2020.04.16 14:13:40]
댓글 보고 여러 쿼리 보니까 페이징처리에 주로 사용하는것같아요 감사합니다 ㅎㅎ rank를 안쓰는 이유도 있었네요.. 주로 rn 을 사용하는것같아요
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.