ale*_*x23 3 sql database postgresql
我有一个包含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
Run Code Online (Sandbox Code Playgroud)
例如
有一个非常相似的问题和解决方案Postgresql select直到达到一定的总量,但我需要有点不同。
谢谢你的帮助。
只需使用累积和:
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;
Run Code Online (Sandbox Code Playgroud)