프로그래밍/DB

[DB] MSSQL ROW_NUMBER()를 이용한 임의의 열번호 표시방법

ss-pro 2020. 12. 23. 22:51
반응형

쿼리결과의 레코드번호를 임의로 지정하고 싶을 경우가 있습니다. 이때  ROW_NUMBER()함수를 사용하여 일련번호를 임의로 만들어 표시할수 있습니다. 아래와 같이 사용하면되고 정렬하고자하는 필드값을 지정후 정렬옵션을 기입하면됩니다.

ROW_NUMBER() OVER (ORDER BY ModifiedDate ASC)     오름차순으로 일련번호
ROW_NUMBER() OVER (ORDER BY ModifiedDate DESC)   내림차순으로 일련번호
ROW_NUMBER() OVER (PARTITION BY ProductID ORDER BY ModifiedDate ASC) 
특정필드에 대한 그룹을 두어 레코드번호를 부여

조회쿼리

1
2
3
4
5
6
7
8
USE AdventureWorks2014
GO
 
/* ProductID 정렬에따른 레코드번호부여 */
SELECT ROW_NUMBER() OVER (ORDER BY ProductID ASC) rowid, *  
from Production.ProductCostHistory
 
/* ProductID 집합에 따른 레코드번호 부여 */
SELECT ROW_NUMBER() OVER (PARTITION BY ProductID ORDER BY ModifiedDate ASC) rowid, *  
from Production.ProductCostHistory

 결과값