【发布时间】:2020-07-30 06:24:21
【问题描述】:
我有一个像这样的简单表格
date day0 day1 day2 day3
2020-01-01 3 2 1 -1
2020-01-02 2 3 1 0
2020-01-03 4 1 -1 2
2020-01-04 5 2 0 1
我想将第(i+1) 天昨天的行减去第(i) 天的今天行。例如,如果今天是 2020-01-02,那么预期结果应该是
date day0 day1 day2 day3
2020-01-02 0 -2 -2 NaN
0 (day0) 由 2 (from 2020-01-01 day1) - 2 (from 2020-01-02 day0)获得
-2(第 1 天)由 1(从 2020 年 1 月 1 日第 2 天)-3(从 2020 年 1 月 2 日第 1 天)获得
-2 (day2) 由 -1 (from 2020-01-01 day3) - 1 (from 2020-01-02 day2) 获得
我正在考虑选择一个特定的日期及其昨天,然后转置和移动昨天的行,然后在 2 个转置列之间减去。但我认为可能还有另一种优雅的方式。我可以给你一些建议吗?
【问题讨论】:
-
为什么
day3的值是NaN? NAN 可能应该保留用于除以零之类的事情,这在此处实际上不会发生。 -
糟糕,抱歉。我认为它需要 2020 年 1 月 1 日第 4 天的数据,这是不可用的。
标签: sql postgresql