gpt4 book ai didi

sql - 如何以 10 为增量更新所有行的列

转载 作者:行者123 更新时间:2023-12-04 08:05:29 26 4
gpt4 key购买 nike

我有一种情况,表中有名为“位置”的列(int)。我需要以每行 10 为增量更新该列。
我可以为此创建一个函数,但是可以通过简单的查询来实现吗?
当前值和所需值的快速示例:

| ID | POSITION | .... | WHAT I WANT POSITION TO BE |
1 10 xxx 10
2 21 xxx 20
3 22 xxx 30
5 30 xxx 40
.... etc

最佳答案

您可以使用 row_number()和算术:

select t.*,
10 * row_number() over (order by position) as new_position
from t;
如果要更新该值,则可以将其包含在更新中:
update t
set position = tt.new_position
from (select t.*,
10 * row_number() over (order by position) as new_position
from t
) tt
where tt.id = t.id;

关于sql - 如何以 10 为增量更新所有行的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66242494/

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