说出来不怕丢人,这是真事。
现象:一个统计接口返回的数“看起来对”,总和也对得上,但我抽样核对时发现,某些用户的记录数明显偏少。
原因:TRAE 帮我写的 join 漏了一个关联条件,导致一部分本该匹配上的行被丢掉了。更阴的是——因为主表数据多,丢掉的恰好是少数边缘情况,所以总数肉眼看不出异常。
我现在加的校验步骤:
- 先跑一条 count 对照:同样的过滤条件,分别用 join 和用子查询算,两个数必须一致,不一致就说明 join 有漏。
- 让 TRAE 写 SQL 时,强制它先列出“每张表靠哪个字段关联、为什么”,我确认了它才写。
- 边缘样本必抽:挑数据最少的那类,手动数一遍。
教训就一句:AI 写的聚合 SQL,总数对 ≠ 逻辑对。
标签:技巧分享