【发布时间】:2020-01-23 17:18:23
【问题描述】:
这是一个 SQL 问题。
我有一列可以是正数或负数的数字,我正试图找出一种方法来获得该列的运行总和,但总和不能低于零。
Date | Number | Desired | Actual
2020-01-01 | 8 | 8 | 8
2020-01-02 | 11 | 19 | 19
2020-01-03 | 30 | 49 | 49
2020-01-04 | -10 | 39 | 39
2020-01-05 | -12 | 27 | 27
2020-01-06 | -9 | 18 | 18
2020-01-07 | -26 | 0 | -8
2020-01-08 | 5 | 5 | -3
2020-01-09 | -23 | 0 | -26
2020-01-10 | 12 | 12 | -14
2020-01-11 | 14 | 26 | 0
对此我尝试了许多不同的窗口函数,但没有找到防止运行总数变为负数的方法。
任何帮助将不胜感激。
编辑 - 添加日期列来指示排序
【问题讨论】:
-
我假设您有一个指定排序的列,因为 SQL 表代表 无序 集。
-
我添加了一个日期列以明确表示,是的,排序将始终相同。
标签: sql snowflake-cloud-data-platform