を超過するまで、私はid
、date
とamount
を持つテーブルを持っているが、私は合計で大きいか等しくなるようにすることを、日付DESC順、id
年代のリストを取得する必要がありますいくつかの特定の値よりも。PostgreSQLの選択行一定量に達すると
- 例えば
id | date | amount ----|----------|-------- 1 | 1/1/2017 | 3 2 | 2/1/2017 | 5 3 | 3/1/2017 | 4 4 | 4/1/2017 | 2 5 | 5/1/2017 | 7 6 | 6/1/2017 | 4
私は合計で日付DESC BY> = 12、ORDERになりますすべての行を取得する必要があります。次に、3行になります:6、5、4、as 4 + 7 + 2 = 13
- 合計が5より大きく、ORDER BY日付DESCであるすべての行を取得する必要があります。それから、2行になります:6、5 = 4 + 7 = 11となります。
- 合計で15以上、ORDER BY日付DESCのすべての行を取得する必要があります。そして、4行になるだろう:6、5、4、3 + 7 + 2 + 4 = 17
非常によく似た質問と解決策Postgresql select until certain total amount is reachedがあり4のように、私は少し異なる必要があります。
ありがとうございました。
? –
@vkpリンクされた質問は、与えられた値より**少ない**すべての行を取ります、私は与えられた値を超えるために、より多くの行が必要です。 – alex23