首页 › 每日一提示词 › 让 AI 写 SQL 之前,先让它问你问题

让 AI 写 SQL 之前,先让它问你问题

2026-09-23 · 数据

「帮我写个 SQL 查询上月复购率」——这样问,你会拿到一段语法正确、逻辑也自洽的 SQL,然后跑出来一个你不确定对不对的数字。因为它对「复购」「上月」「用户」这几个词的理解,可能和你的业务定义完全不同。

提示词

我想查一个数据,请先不要写 SQL。

第一步:告诉我为了写出这段查询,你需要知道哪些信息。至少包括——
- 涉及哪些表,以及你判断的依据
- 关键指标的业务定义(例如「复购」按什么口径算)
- 时间范围的边界是否包含当天、按什么时区
- 用户身份如何去重、退单和测试账号要不要排除

第二步:我回答之后,你用一两句话复述一遍我的口径,确认没有理解偏差

第三步:给出 SQL,并在每一处可能产生歧义的写法旁边加注释,说明你按什么口径处理的

第四步:再给我一段校验查询——用来验证结果数量级的辅助语句,比如各分组的计数,让我能看出是否漏了数据

我的需求:
"""
[描述你要查什么]
"""

已知的表结构:
"""
[粘贴相关表的字段]
"""

为什么这么写

「先不要写 SQL」这一句,把一次性的猜测变成了两轮对话。它的价值不在省时间,而在暴露分歧:你对「上月」的定义是自然月还是最近 30 天、复购是按订单还是按用户、退单要不要剔除——这些它默认会自己选一个,而你默认它选的是你想的那个。第四步的校验查询同样重要:一个跑得通但漏了数据的查询,比跑不通的更麻烦。

换个用法

如果是给同事看的报表查询,在第三步后补一句「用注释分段说明每一步在做什么,让不懂 SQL 的人也能大致读懂」,输出会变成可交接的文档。

相关教程与模板

返回每日一提示词