gpt4 book ai didi

postgresql - 如何对表的列进行航位推算,postgresql

转载 作者:行者123 更新时间:2023-11-29 12:20:39 26 4
gpt4 key购买 nike

我有一张 table ,

x    y
1 2
2 null
3 null
1 null
11 null

我想通过滚动来填充空值应用 y_{i+1}=y_{i}+x_{i+1} 和 sql 的函数尽可能简单(就地)

所以是预期的结果

x    y
1 2
2 4
3 7
1 8
11 19

在 postgresql 中实现。我可能会把它封装在一个窗口函数中,但是自定义函数的实现似乎总是很复杂

最佳答案

WITH RECURSIVE t AS (
select x, y, 1 as rank from my_table where y is not null
UNION ALL
SELECT A.x, A.x+ t.y y , t.rank + 1 rank FROM t
inner join
(select row_number() over () rank, x, y from my_table ) A
on t.rank+1 = A.rank
)
SELECT x,y FROM t;

关于postgresql - 如何对表的列进行航位推算,postgresql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26766477/

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