如何汇总两个任意日期时间列之间的增量?

时间:2018-11-12 22:33:17

标签: database postgresql database-design window-functions

请查看名为History的表的列和类型:

- id PRIMARY KEY 
- account_id STRING
- total_spent FLOAT
- date_created DATETIME 

此表的示例数据:

(id, account_id, total_spent, date_created)
(1, '123-456-7890', 10, 2018-10-01 00:00:00+08)
(2, '123-456-7890', 20, 2018-10-02 00:00:00+08)
(3, '123-456-7890', 30, 2018-10-04 00:00:00+08)

如果我必须找出帐户123-456-78902018-10-01 00:00:01+082018-10-02 00:00:01+08之间花费的钱:

  1. 让A = 2018-10-01 00:00:01+08之前的最新total
  2. let B = 2018-10-02 00:00:01+08之前的最新total_spent
  3. 减去B-A = 10

如果我必须找出帐户123-456-78902018-10-03 00:00:01+082018-10-04 00:00:01+08之间花费的金额:

  1. A将为20,因为这是2018-10-03 00:00:01+08
  2. 前的最新
  3. B将是30
  4. 因此答案也是10。

问题:

  1. 鉴于此架构,您如何计算两个日期时间之间所有帐户花费的总金额?
  2. 如果我有兴趣计算两个任意日期时间之间的帐户支出,如何重组自己的架构以简化生活?

0 个答案:

没有答案