gpt4 book ai didi

SQL Server 根据定义的起始值开始每行计数?

转载 作者:行者123 更新时间:2023-12-02 01:35:16 24 4
gpt4 key购买 nike

我正在尝试根据该列中的最后一个 ID 向该列提供 ID 号。

编辑:我知道有更好的方法。我们无法更改此表以使用正确排序的列,因此我们必须在查询中提供数字。

例如,我可以使用此查询来获取我的最后一个 ID:

SELECT MAX(ID)
FROM TABLE

结果:

16684

如果我在查询中使用 + 1,那么我会得到下一个 ID 的起始编号:

SELECT MAX(ID) + 1
FROM TABLE

结果:

16685

我需要能够将其添加到 INSERT INT0/SELECT 语句中,以便我从结果数字开始并继续提供的每行计数。

例如:

-- I know this doesn't work I do not know what would here.
Select ID (16685), * FROM QUERY RESULTS

结果如下:

16685, Data, Data, Data
16686, Data, Data, Data
16687, Data, Data, Data
16688, Data, Data, Data
16689, Data, Data, Data
...

我不确定如何提供这个值。

有问题的列是 SUDO ID 列,未正确设置为自行递增,因此我们必须自己提供数字。

请注意,每天只会有一次插入,我们并不担心同时发生并发插入。

最佳答案

DECLARE @MaxId INT
SELECT @MaxId = MAX(Id)
FROM MyTable
-- in order by you can set every you want
SELECT @MaxId + ROW_NUMBER() OVER(ORDER BY (SELECT 0)) AS LastId
FROM MyTable
/*
I think it is what you want
*/

关于SQL Server 根据定义的起始值开始每行计数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72520347/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com