MySQL の SELECT コマンドに問題があります。私は、1 日から 1000 日 (> 100 万行) の満期で毎日交換される証券のデータベースを持っています。1 日あたり (および場合によってはカテゴリごと) の未払い額を取得したいと考えています。例を挙げると、これが私の最初のデータセットであるとします。
DATE VALUE MATURITY
1 10 3
1 15 2
2 10 1
3 5 1
次の出力を取得したい
DATE OUTSTANDING_AMOUNT
1 25
2 35
3 15
未払い額は、まだ「生きている」交換証券の合計として計算されます。つまり、2 日目には 10 の新しい取引所と 2 つの古い取引所 (10 と 15) の満期が 1 日よりも長いため未払いがあり、2 日目の合計未払い額は 35 です。 5 の新しい交換と 10 の 1 日目からの古い交換。つまり、未払い額の 15 です。
より視覚的な説明は次のとおりです。
Monday Tuesday Wednesday
10 10 10 (Day 1, Value 10, matures in 3 days)
15 15 (Day 1, 15, 2 days)
10 (Day 2, 10, 1 day)
5 (Day 3, 5, 3 days with remainder not shown)
-------------------------------------
25 35 15 (Outstanding amount on each day)
この結果を得る簡単な方法はありますか?