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

补齐日期

中等 19-timeseries 时间序列 gap-filldate-rangeupsamplegenerate-series

每日销量表 daily_sales 缺了一些日期。把它补成连续的日期序列:

  • 日期范围从表里最早的一天到最晚的一天(两端都包含),每天恰好一行。
  • 表里没有记录的日期,qty 填 0;已有的记录原样保留(包括本来就是 0 的)。
  • 每个日期在表里至多出现一次,输入不保证按日期排序。

输入

  • daily_sales(day, qty):day 是 date 类型

输出

列为 day, qty,按 day 升序排列。

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

daily_sales local/base/daily_sales
#daydateqtyint64
1 2026-03-01 12
2 2026-03-02 8
3 2026-03-04 15
4 2026-03-05 9
5 2026-03-09 20
6 2026-03-10 4
共 6 行

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

#dayDateqtyInt64
1 2026-03-01 12
2 2026-03-02 8
3 2026-03-03 0
4 2026-03-04 15
5 2026-03-05 9
6 2026-03-06 0
7 2026-03-07 0
8 2026-03-08 0
9 2026-03-09 20
10 2026-03-10 4
共 10 行