【发布时间】:2018-05-28 16:37:17
【问题描述】:
我想从同一张表中以前的记录日期字段更新日期字段,例如:
ID_1 ID_2 start_date end_date
1 33 2017-12-14 10:28:32.203000 null
1 33 2017-12-13 10:28:29.153000 null
1 33 2017-12-12 10:28:25.246000 null
1 33 2017-12-11 10:28:21.917000 null
2 4 2017-12-10 10:28:18.005000 null
2 4 2017-12-09 10:28:14.145000 null
2 4 2017-12-08 13:24:26.964834 null
我想通过具有相同 ID_1 和 ID_2 的记录中的前一个 start_date 值更新 end_date 字段。例如:
ID_1 ID_2 start_date end_date
2 4 2017-12-08 13:24:26.964834 2017-12-09 10:28:14.145000
谢谢
【问题讨论】:
-
似乎是 LAG 或 LEAD 函数的好案例。我会让其他精通postgresql的人给你一个可靠的答案。
-
我相信你会得到关于如何做到这一点的答案,但一旦你考虑你是否真的想要这样做。您基本上是在数据库中引入重复数据,这可能会在未来导致许多其他问题。与其添加重复数据,不如考虑如何使用现有数据在应用程序中执行您需要的任何操作(或创建一个视图,以对您有用的形式生成数据。
标签: sql database postgresql