【发布时间】:2019-09-30 21:27:26
【问题描述】:
我有一个带有时间戳数据的表。
t_stamp | col1 | col2 | col3
我想根据表中前一行的 col1 和 col2 中的值更新 say col3 中的值。上一行是指具有下一个最低时间戳值的行。我也想对表中的每一行都这样做。
例如:
col3 = col1.prev + col2
注意:此处的操作仅作为示例提供。给定 col1、col2 和/或之前的值的函数,我想计算 col3 的值。
我能够使用窗口函数创建一个 SELECT 查询,为我提供所需的 col3 值
SELECT lag(col1) OVER (ORDER BY t_stamp ASC) + col2 AS col3
FROM table1
但这不会更新表中的值。我可以以某种方式将其应用于原始表吗?或者有没有办法以相同的方式格式化更新查询?
【问题讨论】:
-
请提供样本数据和期望的结果来说明您的计算。
标签: sql postgresql sql-update postgresql-9.6