一句话: 让 AI 写 SQL,先喂表结构和指标口径,生成后必须过两关:让它逐行解释这条 SQL 在干什么,再写一条对账查询校验总量。对不上账的 SQL,跑得再顺也不能用。
很多运营、产品、分析同学的处境是:清楚自己想看什么数据,但不会写 SQL。AI 能解决"写"的问题,解决不了"对"的问题——表结构、字段含义、业务口径说不清,SQL 照样能跑,结果照样全错。
第一步:先描述表结构
我有一张数据表,表名是:[表名]。 字段包括:[字段名和含义]。 我想查询:[目标]。 请先确认你还需要哪些信息,再写 SQL。
让 AI 先提问,比直接生成安全得多。新手最常犯的错是只说"帮我查下转化率"——AI 不知道你的表长什么样,只能编一个看起来像样的查询,连字段名都是猜的。
第二步:说明业务口径
很多指标错不在技术,在定义。"活跃用户"是登录过、访问过还是下单过?口径差一个词,数字差几倍。
指标定义如下:[定义]。 请根据这个口径写 SQL。 如果定义不完整,请指出需要补充的地方,不要自行假设。
最后一句必须有。不写,AI 就会自己拍一个口径,而且不会告诉你它拍了。
第三步:让 AI 解释 SQL
请逐行解释这段 SQL。 重点说明:筛选条件、分组逻辑、聚合指标、可能遗漏的数据、性能风险。
生成后别急着跑。解释这一步是给你建立判断力的:哪怕看不懂语法,你也能听出"它把退款订单也算进营收了"这种口径问题。
一个真实的坑:join 重复计数
这是 AI 生成 SQL 最常见的错。比如统计 6 月各渠道的付费人数:
-- 错误版:一个用户买 3 单,会被数 3 次
SELECT u.channel, COUNT(u.id) AS buyers
FROM users u
JOIN orders o ON o.user_id = u.id
WHERE o.paid_at >= DATE '2026-06-01'
AND o.paid_at < DATE '2026-07-01'
GROUP BY u.channel;
-- 正确版:按用户去重
SELECT u.channel, COUNT(DISTINCT u.id) AS buyers
FROM users u
JOIN orders o ON o.user_id = u.id
WHERE o.paid_at >= DATE '2026-06-01'
AND o.paid_at < DATE '2026-07-01'
GROUP BY u.channel;
-- 对账:各渠道 buyers 之和,必须等于这条的结果
SELECT COUNT(DISTINCT user_id) AS total_buyers
FROM orders
WHERE paid_at >= DATE '2026-06-01'
AND paid_at < DATE '2026-07-01';
顺带一个细节:时间过滤用"大于等于月初、小于下月初",别用 BETWEEN 到 23:59:59——带毫秒的时间戳会漏掉最后一秒的数据。
第四步:校验结果
这是 SQL 查询结果:[结果摘要]。 请帮我设计校验方法。 包括:和总量对比、抽样检查、时间范围检查、异常值检查、业务常识检查。
业务常识检查最容易被跳过,也最值钱:转化率 80%、客单价比上月翻十倍,这种数字不用懂 SQL 也知道不对。
坑与红线
- 给 AI 辅助查询用的数据库账号只给只读权限,而且别连生产主库——一条没有 LIMIT 的全表扫描就能把库拖垮。
- 表结构可以给 AI,真实数据不行。样例要脱敏,客户手机号、身份证不进对话框。
- 让 AI 写应用代码里的 SQL 时,必须参数化查询。字符串拼接就是给自己埋 SQL 注入。
- 跑大查询前先加 LIMIT 看 100 行,确认口径对了再放开。
Glouth 怎么用
学 SQL、让 AI 解释和改写查询,用 Glouth Chat。要做内部数据问答、自动生成 SQL 的 BI 助手,走 Glouth Link 的 OpenAI 兼容接口接进系统,细节看 API 接入指南。
FAQ
Q:AI 写的 SQL 能直接在生产库跑吗? 不能。流程是:只读账号、先在测试库或脱敏副本跑、加 LIMIT 验证、对账通过,才上生产。改数据的 UPDATE/DELETE 永远人工复核。
Q:表有几百个字段,怎么喂给 AI? 别全贴。挑这次查询相关的表,给字段名加一句话含义,说清主键外键关系。字段太多反而让它瞎选。
Q:SQL 跑得太慢怎么办? 把 SQL 和 EXPLAIN 的输出一起给 AI,让它指出全表扫描和缺索引的位置。但加不加索引要开发或 DBA 确认,别自己上手。
Q:MySQL 和 PostgreSQL 的写法通用吗? 大部分通用,但日期函数、字符串函数差异不小。提示词里写清你用哪个库和版本,不然它默认给的语法可能跑不起来。
最后提醒
AI 写 SQL 的前提,是你把表结构和口径说清楚;AI 写完 SQL 的下一步,永远是解释和对账。把它当一个手快但不了解你业务的新同事,而不是答案机。
想直接上手?
这篇讲的活,打开 Glouth Chat 就能干:GPT-5.5 / Claude 等模型中文直接用,不用翻墙、不用海外卡。想给自己的 ChatGPT 账号开 Plus 的看国内充值指南;要把 AI 接进自己的工具,走 Link API。