我有一张这样的table:
| 产物|价值|trx日期|
| - -----|- -----|- -----|
| 苹果|一百|2020-06-01 2020-06-01|
| 苹果|三百|2020-06-02 2020-06-02|
| 苹果|五百|2020-06-03 2020-06-03|
我需要创建这样的报告(假设今天是2020-06-03)
| 产物|昨天|当前日期|三角洲|
| - -----|- -----|- -----|- -----|
| 苹果|三百|五百|两百|
我很困惑如何创建一个查询(PostgreSQL),比较这些值。Fyi,我总是每天更新这个表。我尝试使用('1 day'::interval)
查询,但它总是显示2020-06-03之前的所有日期,即2020-06-01和2020-06-02。
2条答案
按热度按时间uidvcgyl1#
使用Window Function超前或滞后将数据从后续行(超前)或前一行(滞后)“合并”到当前行。在这种情况下,我使用滞后函数来获得“昨天”的值。
4zcjmb1e2#
使用CTE:
https://www.postgresql.org/docs/12/queries-with.html
举个例子: