MSSQL

[MSSQL] ROW_NUMBER()를 사용해보자!

#index #순서 #넘버지정 #row숫자 #row순번 #주기

1. 검색 결과에 순번을 붙히고 싶다

MSSQL로 쿼리를 짜보다 보면 각각에 순서 혹은 숫자를 지정해주고 싶은 경우가 있지요.

select 
 top 10
 , FRST_REGISTER_ID
 , FRST_REGIST_PNTTM
from 
 LETTNBBS
order by
 FRST_REGIST_PNTTM desc

이렇게 써서 조회를 한다면 딱 아래처럼 결과가 나오게 됩니다.

하지만, 우리가 원하는 것은 바로

이것인데 말이지요.

엑셀에서 그냥 더블클릭하면 되는걸 쿼리로 짜려면 어떻게 해야할까요? 자 row_number() 라는 것을 쓰면 아주 쉽게 가능합니다.

한번 해볼까요?


2. row_number()

mssql에서는 다양한 내장함수가 있는데, row_number()는 그 중 하나라고 보시면 됩니다.

select 
 top 10
 ROW_NUMBER() over (order by FRST_REGIST_PNTTM desc) as 'index'
 , FRST_REGISTER_ID
 , FRST_REGIST_PNTTM
from 
 LETTNBBS
order by
 FRST_REGIST_PNTTM desc

이렇게 써서 조회를 해본다면?

짜자잔! 엄청 쉽게 인덱싱이 되었지요? 순번이 지정되었습니다.


3. 간단 사용법

자, 복잡하게 말고 아주 간단하게 설명을 해보겠습니다.

ROW_NUMBER() OVER (ORDER BY 컬럼명) AS 표기명

이게 기본 골자입니다. 여기서 수정해서 사용할 부분은 위에 컬럼명.

진짜 간단하게 설명하자면, 현재 쿼리의 order by를 그대로 가져와서 넣어주시면 됩니다.

어때요? 간단하죠? 여기서 좀 더 나가서 OFF SET이라던지 FETCH NEXT라던지 여러가지 더 알아야할게 있는데, 그건 천천히 필요할 때 찾아보시죠!

그럼, 이만! 슬기로운 코딩생활 하세요!

배곧동개발자

Recent Posts

[세븐나이츠 리버스] 쫄작 가이드 (기초편)

#세븐나이츠리버스 #쫄작 #가이드 #꿀팁 #제이브 그 옛날, 세나를 해보신 분들이라면 모를 수 없으나 이제 세븐나이츠…

3주 ago

[세븐나이츠 리버스] 최신 쿠폰 공유! 쿠폰 입력 방법! (5월15일)

1. 세븐나이츠 리버스 오늘, 2025년 5월 15일에 오픈한 세븐나이츠 리버스! 다들 시작하셨나요? 제이브를 뽑고싶은데 아직…

3주 ago

[CSS] 이미지가 빙빙 돈다? animation spin

#css #spin #animation #spin 1. 이미지가 빙빙돈다! 어? 이게 뭐지? 이미지가 빙빙 돕니다. 나 이거…

1개월 ago

[node.js] npm.ps1 파일을 로드할 수 없습니다

#노드js #nodejs #에러 #오류 #npm 1. npm.ps1 Error node js 를 설치 후 npm을 이용하려…

2개월 ago

[MSSQL] 넓은 영어, 띄어쓰기 영어 입력되는 현상 (전각입력/문자폭)

#MSSQL #문자폭 #영어넓이 #쿼리입력안됨 1. MSSQL 영어 입력 안되는 현상 MSSQL을 주로 쓰고 있는데 MSSMS에서…

3개월 ago

[이미르] 다니아믹 키 확실한 해결방법 (커스텀토큰/접속불가)

#레전드오브이미르 #다이나믹키가다릅니다 #커스텀토큰 #접속불가 #오류 #해결방법 1. 다이나믹 키 더럽다! 유저의 다이나믹키가 다릅니다. 위메이드의 레전드…

3개월 ago