我需要返回一个生成的ID,其中每行将增加10,000。
例如,下面的ExpectedResult列,如果有更多行,则每次将增加10,000。
Create Table #temp
(
ID uniqueidentifier,
ExpectedResult int
)
insert into #temp
(
ID,
ExpectedResult
)
select
NEWID(),
10000
union
select
NEWID(),
20000
union
select
NEWID(),
30000
union
select
NEWID(),
40000
union
select
NEWID(),
50000
select * from #temp
order by ExpectedResult
drop table #temp
我找到了下面的示例,但是我不确定每次如何将计数增加10,000
ROW_NUMBER() OVER (ORDER BY (SELECT 100))
如果使用的是SQL Server 2012或更高版本(包括SQL Server 2017),则可以使用CREATE SEQUENCE
创建编号序列。要创建以10000为增量的SEQUENCE,请添加子句INCREMENT BY
。
例如:
CREATE SEQUENCE Test.CountBy1
START WITH 10000
INCREMENT BY 10000
有关详细信息,请参阅CREATE SEQUENCE
上的以下SQL Server文档:https://docs.microsoft.com/sql/t-sql/statements/create-sequence-transact-sql?view=sql-server-2017