我甚至不知道从哪里开始这样的查询。基本上,我得到了一个具有一定数量的数据库,我的老板希望我将这些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是正确的选择吗?
1条答案
按热度按时间oknwwptz1#
我想你得把这个分开。
使用mysql来查询数据,但是您想要做的事情需要相当多的处理。
我将考虑使用一些面向对象语言(php、c#、python)来处理所有试图计算和的逻辑。