반응형



 ROW_NUMBER를 이용한 순번 매기기


 출력된 데이터에 대한 순번을 매기고 싶을 때 주로 사용하는 방법이다. 특히 페이징 처리에서도 많이 사용하고 있으며 그 외 순서를 나타내기 위해서 주로 사용한다.


 우선 예로 다음과 같은 데이터가 존재한다고 가정한다.


NAME

DATE

조서방

2010-01-01

김서방

2011-01-01

박서방

2015-01-01

임서방

2009-01-01


 기본적으로 SELECT를 해오면 위와 같은 형태로 출력이 될 것이다. 여기에 날짜를 가지고 ORDER BY를 하게되면 내림차순 또는 오름차순으로 정렬이 된다.


 SELECT

      NAME, DATE

 FROM 

      TABLE

 ORDER BY DATE DESC ;


 여기까지는 좋다. 그런데 정렬을 시켰는데 순번을 알고 싶다. 이럴 때 사용하는 함수가 ROW_NUMBER 함수이다. 사용하는 방법은 아래와 같다.


SELECT 

      ROW_NUMBER() OVER(ORDER BY DATE DESC) AS RNUM

      , NAME

      , DATE

 FROM 

      TABLE ;


 ROW_NUMBER() OVER를 이용하여 날짜에 대해서 내림차순 또는 오름차순으로 정렬을 하게되면 순번을 출력할 수 있다.


RNUM

NAME

DATE

1

박서방

2015-01-01

2

김서방

2011-01-01

3

조서방

2010-01-01

4

임서방

2009-01-01


 위와 같은 방식으로 순번을 출력하며 꼭 날짜를 기준으로 하지않고 다양한 컬럼을 이용하여 순번을 매길 수 있으니 참고하면 된다.



↓ 공감 을 눌러주시면 블로거에게 큰 힘이 됩니다 !

반응형

블로그 이미지

SkyBaby

부부가 운영하는 정보 공유 공간입니다. 다양한 일상, 요리, 맛집탐방, 게임, 공부 등의 정보를 담고 있습니다.