row_number()从#3开始

R L*_*kas 0 t-sql sql-server-2008

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

- 挂行号

select right('00000000' ++ cast(row_number () over (order by column1) as varchar (10)),8)
Run Code Online (Sandbox Code Playgroud)

--results

00000001
00000002
00000003
00000004
00000005
00000006
Run Code Online (Sandbox Code Playgroud)

- 想;

00000003
00000004
00000005
00000006
Run Code Online (Sandbox Code Playgroud)

谢谢,

Mik*_*ll' 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;
Run Code Online (Sandbox Code Playgroud)