본문 바로가기
개발/etc

row_number over partition by 사용 방법

by rudnine 2020. 9. 10.
반응형

업무관련으로 찾던 코드 중에 ROW_NUMBER() OVER(PARTITION BY A ORDER BY B DESC) 이런 것에 해당하는 코드가 있어서 검색을 해봤습니다. DB2에 관련된 내용을 검색했는데 잘 나오지 않네요. 구글 검색에서 제일 상단에 뜨는 링크를 보고 이해하는데 도움이 되었습니다.

관련링크 : [MS-SQL] ROW_NUMBER() OVER()

이해한대로 기록을 해보면,
ROW_NUMBER() : 각 행의 우선순위를 정합니다. (1, 2, 3...)
PARTITION BY : 그룹바이처럼 A를 기준으로 그룹핑을 합니다. 
A를 기준으로 그룹핑한 데이터가 있는데, 이게 몇 개가 있는 겁니다.
오더바이 기준은 B가 됩니다.
ROW_NUMBER()는 1번, 2번, 넌 3번... 이렇게 순서를 매겨줍니다.

GROUP BY, ORDER BY 를 이용한 것과 차이점은 이점인 것 같습니다.
GROUP BY를 하면, 같이 그룹핑 된 데이터 중 상이한 값을 가진 열을 표시하기 어렵습니다.
ROW_NUMBER()를 이용해서, 그루핑 된 데이터 중 첫번째 데이터를 표시하는 작업이 가능합니다.

 

 

 

반응형

댓글