gpt4 book ai didi

sql - 将自动增量值添加到与另一列中的重复值相关的列

转载 作者:行者123 更新时间:2023-11-29 14:34:55 24 4
gpt4 key购买 nike

我有一个大表(300 万行和大约 12 列)。我有一列可以包含重复值 - 这是我的“ID”列。我有第二列“NUM_ID”,我希望它从每个唯一“ID”的值 1 开始。然后 - 如果我遇到重复值 - "NUM_ID"将增加一个值(到 2),依此类推。例如:

ID     NUM_ID
1 1
2 1
2 2
2 3
3 1
3 2
4 1
5 1
5 2
5 3
5 4

同样,“ID”已预先填充,我无法更改此列及其值。我的“NUM_ID”列当前为空 - 我希望有一个 sql 命令可以用来填充如上所示的列?我试过使用 Python,但更新 3M 行需要很长时间。另外,如果重要的话,我正在使用 PostGresSQL。

帮助?谢谢!

最佳答案

如果您使用的是 SQL Server,那么您应该使用 ROW_NUMBER(),如下所示:

SELECT *, ROW_NUMBER() OVER (PARTITION BY ID ORDER BY ID) NUM_ID FROM #TM

结果:

ID  NUM_ID
1 1
2 1
2 2
2 3
3 1
3 2
4 1
5 1
5 2
5 3
5 4

关于sql - 将自动增量值添加到与另一列中的重复值相关的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46557012/

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