我需要帮助来计算任何帐户的周转时间,以便从负每日余额变为正数。例如,帐户 12345 在 2013 年 4 月 5 日为正数,但在 04/06、04/07、04/08(三天)的余额为负数,第四天变为正数。我想开发一个查询来计算周转时间(4 天)。
Account Number Transaction Date Daily Balance
12345 4/1/2013 304
12345 4/2/2013 -78
12345 4/3/2013 -65
12345 4/4/2013 12
12345 4/5/2013 25
12345 4/6/2013 -345
12345 4/7/2013 -450
12345 4/8/2013 -650
12345 4/9/2013 105
12345 4/10/2013 110
110000 4/1/2013 150
110000 4/2/2013 -15
110000 4/3/2013 -56
110000 4/4/2013 -35
110000 4/5/2013 -15
110000 4/6/2013 106
110000 4/7/2013 500
110000 4/8/2013 -150
110000 4/9/2013 50
110000 4/10/2013 100
55544 4/1/2013 150
55544 4/2/2013 120
55544 4/3/2013 -145
55544 4/4/2013 -250
55544 4/5/2013 15
55544 4/6/2013 20
55544 4/7/2013 40
55544 4/8/2013 50
55544 4/9/2013 -10
55544 4/10/2013 60
我正在尝试从上表中获得以下结果。该查询将应用于具有数千行的事务表。因此,我需要帮助来构建一些有效的查询来计算以下结果。
Account Number Turnover time for an account to become positive
12345 3
12345 4
110000 5
110000 2
55544 3
55544 2
我正在使用 MS SQL 服务器版本 2008。
是的,有零。他们被认为是积极的。我的意思是当余额从负数变为0或正数时,将被视为营业额。
Fadi Hassan 提供的解决方案是最高效且易于实施的。尽管它有一个挑战,例如一开始账户余额为负数,但它不起作用。例如,当余额为-110、-40、0、10、90、30、0、-10、-20、0时,将不起作用。
如果有人有更好的解决方案,请提供帮助。