gpt4 book ai didi

SQL 生成序列号

转载 作者:行者123 更新时间:2023-12-02 04:02:04 25 4
gpt4 key购买 nike

我有一个包含 2 个 PK 列的表,需要填充。第一列“ID”已填充,我需要生成并使用 int 填充“SeqNum”列,如下面的示例所示。显然同一条记录中不能有相同的 SeqNum 作为相同的 ID,因为它们都是 PK 的(我相信你知道我的意思)。我怎样才能做到这一点?

这是一个简单的查询,如下所示:

Insert into @TempTable
Select A.ID
,1 --not sure what to do here
,B.Col3
--and other columns
From Blah A Join Blah2 B on B.ID = A.ID

我尝试过类似的方法,但没有成功:

(Select max(ISNULL(SeqNum, 0)) + 1 From @TempTable Where ID = A.ID)

非常欢迎任何帮助。也许我必须循环?

我需要的示例输出:

PK  PK
ID SeqNum
1111 1
1111 2
1111 3
2222 1
2222 2
2222 3
3333 1
4444 1
5555 1
5555 2

最佳答案

如果我理解这个问题,Row_Number() 很适合这里

Select ID
,SeqNum = Row_Number() over (Partition By ID Order By (Select NULL))
From ...

关于SQL 生成序列号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41387652/

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