【发布时间】:2013-07-30 21:54:21
【问题描述】:
我正在尝试对此表进行查询:
Id startdate enddate amount
1 2013-01-01 2013-01-31 0.00
2 2013-02-01 2013-02-28 0.00
3 2013-03-01 2013-03-31 245
4 2013-04-01 2013-04-30 529
5 2013-05-01 2013-05-31 0.00
6 2013-06-01 2013-06-30 383
7 2013-07-01 2013-07-31 0.00
8 2013-08-01 2013-08-31 0.00
我想得到输出:
2013-01-01 2013-02-28 0
2013-03-01 2013-06-30 1157
2013-07-01 2013-08-31 0
我想得到这个结果,这样我就可以知道资金何时开始流入以及何时停止。我还对资金开始进入之前的月数感兴趣(这解释了第一行),以及资金停止的月数(这解释了为什么我也对 2013 年 7 月至 2013 年 8 月的第三行感兴趣)。
我知道我可以在日期上使用最小值和最大值并在金额上使用总和,但我不知道如何以这种方式划分记录。
谢谢!
【问题讨论】:
-
感谢 Mahmoud Gamal 的编辑。我试图用我的安卓手机问这个问题。
-
你想根据什么来分组?
-
看起来你想对连续的零和非零行进行分组,但你为什么不分离出 May 行呢?
-
他试图为数据创建三个切片 - (1) 没有钱进来 (2) 钱进来 (3) 没有钱再进来。这两个干旱时期将结束资金到账的时间。
-
基于金额为零和非零的包含日期。
标签: sql sql-server tsql