반응형
일반적으로 ROW_NUMBER()의 OVER 절에 다음과 같이 그룹화 시킬 컬럼을 넣어서 사용하게 된다.
SELECT (ROW_NUMBER() OVER (PARTITION BY dept_code ORDER BY user_id)) as ord, * FROM UserTable ORDER BY dept_code
그런데 만약 특정 컬럼에 대한 일련번호가 아닌 전체 row 에 대하여 처음부터 일련번호를 부여 하고자 하면 다음과 같이
PARTITION BY 없이 ORDER BY 만 사용 하면 된다. 이때 ORDER BY 에 사용하는 컬럼값이 데이터에 중복되어 있어도 관계없다.
ROW_NUMBER() 함수의 특성상 동일값 이라도 차례대로 일련번호를 부여하기 때문 이다.
SELECT (ROW_NUMBER() OVER (ORDER BY user_id)) as ord, * FROM UserTable ORDER BY ord
반응형
'데이터베이스' 카테고리의 다른 글
[SQL서버] 문자열 에서 한글 분리 (0) | 2013.03.27 |
---|---|
SQL서버 CLR 활성화 시키기 (0) | 2012.07.16 |
[SQL서버] OpenQuery를 사용한 INSERT, UPDATE, DELETE 처리 (0) | 2011.12.07 |
[SQL서버] EXECUTE를 사용하여 연결된 서버의 Oracle 데이터베이스 쿼리 (0) | 2011.11.29 |
[SQL서버] 변수와 함께 EXECUTE 'tsql_string' 사용 (0) | 2011.11.29 |