小编ama*_*496的帖子

每 150 行增加一个整数

我正在尝试编写一个 SELECT 查询来计算BatchNumber从 1001 开始每 150 行增加 1 的列。

预期BatchNumber应该是1001前 150 行,然后1002是第 151-300 行,依此类推...

我尝试过在动态上使用除法ROW_NUMBER(),但无法得到它。

SELECT ID
    ,ROW_NUMBER() OVER (ORDER BY (SELECT ID)) AS RowNumber
    ,CASE
        WHEN CONVERT(INT, (ROW_NUMBER() OVER (ORDER BY (SELECT ID)) % 150))=0
        THEN 0 ELSE 1001 END
    + CONVERT(INT,(ROW_NUMBER() OVER (ORDER BY (SELECT ID)) / 150))
    AS BatchNumber  
FROM Table1 WITH (NOLOCK);
Run Code Online (Sandbox Code Playgroud)

sql-server-2008 sql-server sql-server-2008-r2

1
推荐指数
1
解决办法
860
查看次数