我有一张包含id
,date
和amount
的表格,我需要获取id
的列表,按日期DESC排序,总计大于或等于某个特定值。
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
例如
有一个非常相似的问题和解决方案Postgresql select until certain total amount is reached,但我需要一点点不同。
感谢您的帮助。
答案 0 :(得分:2)
只需使用累计金额:
select t.*
from (select t.*, sum(amount) over (order by date desc) as running_amount
from t
) t
where running_amount - amount < 12
order by date desc;