提问 · 2026 年 2 月 21 日 · 10 分钟
时间窗:最近、本月、截至昨天,不是一回事
时间是问数里最常被随口带过的零件。公开文档建议把当前日期写死,再去解释「过去三十天」「去年劳动节」「1 月 18 日那一周」。个人练习里,我也把锚点写在问题上方,像写实验记录。
最近 N 天
要声明含不含今天,从哪一时区切日。含今天的「最近 7 天」是不完整日,环比会歪。
本月和自然月
本月截至此刻,和本月截至昨天,对财务和对运营是两套数。业务日如果从凌晨 2 点切,更要写明。
节日和周
劳动节那天、某一周,要写清用节日日历还是自然日,周一还是周日算一周之始。
一次完整的问法可以先写成下面这样:
锚点 2026-03-18。过去 7 天不含今天,按支付成功时间。
落到语句上,草稿常常是:
SELECT DATE(pay_time) AS d, SUM(pay_amount) AS gmv
FROM orders
WHERE pay_time >= TIMESTAMP '2026-03-11 00:00:00'
AND pay_time < TIMESTAMP '2026-03-18 00:00:00'
AND pay_status = 'paid'
GROUP BY DATE(pay_time)
ORDER BY d;
把起止写进语句,收据自己会说话。不要把 CURRENT_DATE 藏在函数里又不告诉读者今天是哪一天。
提问是规格,不是文采
公开的提问建议把好问题拆成时间、指标、筛选、统计、呈现。我把它当成规格书。规格可以写得不好看,不可以缺零件。零件缺了还硬跑,就是用默认值替别人做决定。
相对时间必须有锚点。形容词必须换成规则。追问必须能单独重跑。这三条足够挡住提问阶段最常见的漂。
高频问题做成卡片。卡片有版本。口径改了就升版本,不要在聊天里口头补丁。口头补丁过一周,谁也说不清当时的数是哪一版口径问出来的。
读完这一辑可以做什么
把你最常问的三句话写成卡片。每张卡片第一行写锚点规则,第二行写指标计算,第三行写排除项。然后拿这三张卡片去对三天的报表。对不上,先改卡片,不改心理预期。
含不含今天,能单独改变一周的趋势。不要把它当细节。