按月汇总已付款订单的金额,并计算同比:yoy = 本月金额 / 去年同月金额 - 1。
- 只统计
status = 'paid'的订单。 - 订单行金额 =
qty * unit_price * (1 - discount),discount为 null 表示没有折扣(按 0 算)。 - 月份按
order_ts所在的自然月划分,用该月 1 日的日期表示(列month)。 - 只输出有已付款订单的月份;
amount是该月金额之和。 - “去年同月”按日历对齐:2026-03 的去年同月是 2025-03。月份序列中间可能缺月,所以不能简单地取往前数第 12 个月份行。
- 去年同月没有已付款订单(即结果里不存在那一行)时,
yoy为 null。
输入
orders(order_id, customer_id, order_ts, status, channel)order_items(order_id, product_id, qty, unit_price, discount)
输出
列为 month(日期)、amount、yoy,每个月一行,行顺序不限。