df-drills pandas · Polars · DuckDB SQL · DuckDB Relational 题目列表 登录

全局累计

简单 16-window-cumulative 窗口:累计与滑动 cumsumrunning-totalNone

daily_sales 每天一行(date 不重复),计算截至每一天(含当天)的累计销售额 cum_sales。

  • 按 date 从早到晚累计。
  • sales 为 null 的那天视为 0:那天的 cum_sales 等于前一天的累计值;如果第一天就是 null,第一天的 cum_sales 为 0(不是 null)。
  • sales 列原样输出(null 仍为 null)。
  • 表里的行不保证有序。

输入

  • daily_sales(date, sales)

输出

列为 date, sales, cum_sales,按 date 升序排列。

输入表 (case base,共 3 个 case:base、nulls、single)

daily_sales local/base/daily_sales
#datedatesalesfloat64
1 2026-09-03 120.5
2 2026-09-01 100.0
3 2026-09-02 80.0
4 2026-09-06 40.0
5 2026-09-04 0.0
6 2026-09-05 95.5
7 2026-09-08 60.0
8 2026-09-07 210.0
共 8 行

期望输出 (case base,行顺序要一致)

#dateDatesalesFloat64cum_salesFloat64
1 2026-09-01 100.0 100.0
2 2026-09-02 80.0 180.0
3 2026-09-03 120.5 300.5
4 2026-09-04 0.0 300.5
5 2026-09-05 95.5 396.0
6 2026-09-06 40.0 436.0
7 2026-09-07 210.0 646.0
8 2026-09-08 60.0 706.0
共 8 行