gpt4 book ai didi

sql - 如何更新间隔值增加的列?

转载 作者:行者123 更新时间:2023-11-29 14:06:43 25 4
gpt4 key购买 nike

我在 Postgresql 中有一个表:

id qty
1 10
2 11
3 18
4 17

我想在每一行添加一个从 1 开始的数字意思是我想要:

id qty
1 11 / 10+1
2 13 /11 +2
3 21 /18 +3
4 21 /17+4

第一行 +1,第二行 +2,第三行 +3 等等...

应该是这样的:

update Table_a set qty=qty+(increased number starting from 1)  order by id asc;

我该怎么做?

最佳答案

如果列ID是唯一的那么你可以使用下面的方式

UPDATE Table_a a
SET qty = qty + b.rn
FROM (
SELECT id,ROW_NUMBER() OVER (ORDER BY id) rn
FROM Table_a
) b
WHERE a.id = b.id

ROW_NUMBER()

assigns unique numbers to each row within the PARTITION given the ORDER BY clause

关于sql - 如何更新间隔值增加的列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34788854/

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