티스토리 뷰

반응형

가끔 데이터 이관(마이그레이션) 작업을 하다보면 키값을 다시 매겨야 하는 순간이 온다.

 

그때 사용하는 방법 중 하나.

 

번호를 다시 매기는 방법인데, row_number()를 사용하면 간단하게 순차적으로 번호를 뽑아올 수 있다.

 

SELECT KEY, ROW_NUMBER() OVER(PARTITION BY KEY ORDER BY KEY) FROM TABLE

-- 또 다른 방법은
SELECT KEY, 
	RIGHT('000'+CAST(ROW_NUMBER() OVER(PARTITION BY [KEY] ORDER BY [KEY])) AS VARCHAR(3)),3)
FROM TABLE

 

이런 식으로 사용해주자.

 

PARTITION 부분은 KEY를 기준으로 ROW_NUMBER를 채번하는 것으로

같은 KEY를 묶어 채번이 된다.

 

PARTITION 부분을 제외하면 묶이는 것 없이 ROW_NUMBER를 지정하게 된다.

 

반응형
댓글
반응형
최근에 올라온 글
최근에 달린 댓글
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31