2011-09-29 7 views
5

select 문에서 row_number를 생성 할 수 있다는 것을 알고 있습니다. 하지만 row_number는 1부터 시작합니다. 2에서부터 생성해야합니다.일련 번호를 생성하는 방법 + select 문에 1을 더하는 것

예를

party_code 
---------- 
R06048 
R06600 
R06791 
(3 row(s) affected) 
I want it like 

party_code serial number 
---------- ------------- 
R06048  2 
R06600  3 
R06791  4 

정기적으로 행 번호를 생성을 위해 내가 선택한 문 아래에 사용하고 현재.

SELECT party_code, ROW_NUMBER() OVER (ORDER BY party_code) AS [serial number] 
FROM myTable 
ORDER BY party_code 

위의 select 문을 수정하고 2에서 시작하는 방법은 무엇입니까?

+8

오, 당신이 자신을 거 킥있어 ... – AakashM

+1

는 당신이 시도 했 'ROW_NUMBER() + 1'? –

답변

16
SELECT party_code, 1 + ROW_NUMBER() OVER (ORDER BY party_code) AS [serial number] 
FROM myTable 
ORDER BY party_code 

추가 할 : ROW_NUMBER()은 특이한 문법을 ​​가지고 있으며, 다양한 OVERPARTITION BY 조항과 혼동 될 수 있지만, 모든 밝혔다 및 완료 때 여전히 숫자 반환 값과 기능, 돌려입니다 값은 다른 숫자와 같은 방식으로 조작 할 수 있습니다.

+1

+1 낮게 매달린 과일입니다. 그래도 좋은 설명. :) –

2

나는 SQL 서버에 대해 잘 모르지만,이 중 하나가 작동합니다

SELECT party_code, 1 + ROW_NUMBER() OVER (ORDER BY party_code) AS [serial number] 
FROM myTable 
ORDER BY party_code 

또는

SELECT party_code, serial_numer + 1 AS [serial number] FROM 
(SELECT party_code, ROW_NUMBER() OVER (ORDER BY party_code) AS [serial number] 
FROM myTable) 
ORDER BY party_code 
관련 문제