mysql在发生重叠日期范围时求和的数量

gorkyyrv  于 2021-06-23  发布在  Mysql
关注(0)|答案(1)|浏览(327)

我甚至不知道从哪里开始这样的查询。基本上,我得到了一个具有一定数量的数据库,我的老板希望我将这些sql数据转换成一个视图。我脑子进水了,不知道从哪里开始,也不知道如何完成我需要完成的事情:(
我有一张这样的table:

record_id    amount    start_date    end_date
1            20000     2018-01-01   2018-12-01
1            -15000    2018-02-01   2018-04-01
1            50000     2018-04-02   2018-06-30

我需要它看起来像这样:

record_id    amount   start_date    end_date
1            20000    2018-01-01    2018-01-30
1            5000     2018-02-01    2018-04-01 
1            70000    2018-04-02    2018-06-30
1            20000    2018-07-01    2018-12-01

因此,在所有重叠的日期范围内,我们计算总和,并将其分为新行。一旦那个日期范围结束,我们就回到延长到12月的那一行。这只是一个示例,行由唯一的 record_id ,将有不同的金额和日期范围。有些行甚至不会重叠。
我怎么开始写这样的查询呢?mysql是正确的选择吗?

oknwwptz

oknwwptz1#

我想你得把这个分开。
使用mysql来查询数据,但是您想要做的事情需要相当多的处理。
我将考虑使用一些面向对象语言(php、c#、python)来处理所有试图计算和的逻辑。

相关问题