row_number()从#3开始

时间:2012-12-26 23:59:49

标签: sql-server-2008 tsql

我正在为IRS 1099创建一个B Record列表(以防其他人熟悉该过程)。有两个标题记录(T Record and A Record),它们是文件的第一行,它们也需要行计数,所以当我创建B Record时,我希望它从行开始数字3因为前两行是固定的,但是我无法在我的select语句中使用它。

- 填充行号

select right('00000000' ++ cast(row_number () over (order by column1) as varchar (10)),8)

- 结果

00000001
00000002
00000003
00000004
00000005
00000006

- 希望;

00000003
00000004
00000005
00000006

谢谢,

1 个答案:

答案 0 :(得分:5)

您需要添加的表达式不是row_number()。您需要添加的表达式为row_number () over (order by column1)

create table test (
  column1 integer 
  );

insert into test values (1),(2),(3),(4),(5);

select right('00000000' + cast((row_number ()  over (order by column1)) + 2 as varchar (10)),8)
from test;