マイナスの日々の残高からプラスになる口座のターンオーバー時間を計算するのに助けが必要です. たとえば、口座 12345 は 2013 年 4 月 5 日にはプラスですが、04/06、04/07、04/08 (3 日間) にはマイナスの残高があり、4 日目にはプラスになりました。その回転時間 (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 が提供するソリューションは、最も効率的で実装が簡単です。口座残高が最初にマイナスの場合など、1つの課題がありますが、機能しません。例えば、残高が-110、-40、0、10、90、30、0、-10、-20、0の場合は動作しません。
誰かがより良い解決策を持っている場合は、親切に助けてください。