특정 게시물에 대해서 사람마다 연속 순번을 매겨야 하는 경우가 발생하여 ROWNUM과 ROW_NUMBER()를 사용하고 이에 대해 정리하게 되었음.
1. ROWNUM
- 목적 : 정렬된 데이터에 순번 매기기 위해 사용.
- 사용방법 : ROWNUM
- 예시
SELECT /* ROWNUM 예제 */
ROWNUM
, B.EMPNO
, B.TITLE
, B.CONTENT
FROM
(SELECT EMPNO
, TITLE
, CONTENT
FROM A
ORDER BY EMPNO
) B
2. ROW_NUMBER()
- 목적 : 정렬된 데이터에 그룹별로 순번을 매기기 위해 사용.
- 사용방법 : ROW_NUMBER(PARTITION BY XX ORDER BY XX)
- 예시
SELECT /* ROWN_NUMBER() 예제 */
ROW_NUMBER() OVER (PARTITION BY B.EMPNO ORDER BY B.EMPNO) AS NUM
, B.EMPNO
, B.TITLE
, B.CONTENT
FROM
(SELECT EMPNO
, TITLE
, CONTENT
FROM A
ORDER BY EMPNO
) B
게시물마다 순번을 부여할 수 도 있었지만, 요구사항이 있어 사람마다 게시물 순번을 부여하기 위해서 ROW_NUMBER()를 사용하여 구현하게 되었음.
반응형