现在 ai 能写报表 sql 吗

widowcat 2026-06-09 10:07 1

最近工作多了很多写复杂报表的需求。想尝试用 ai 来写,不知道有没有人已经尝试过
最新回复 (45)
  • fqyd 06-09 10:10
    1
    你试试呗,我之前用 codex gpt5.4 改过一个上千行的 mysql 的存储过程,效果不错。
  • widowcat 楼主 06-09 10:12
    2
    @fqyd 我也用过,主要是我才接收不是很懂业务,想着能不能把一些表发给 ai ,然后再把一些历史报表 sql 发给他,最后发给他需求让他写
  • fqyd 06-09 10:13
    3
    @widowcat 那我觉得你应该先用 AI 帮你把业务梳理清楚,否则容易改崩。然后,你的 sql 要做个版本管理,方便回退。
  • dvazqcce 06-09 10:17
    4
    完全没问题,你把数据库的结构和表名说清楚,需求说清楚就完全 OK 。你还可以让给你弄点测试的数据。
  • NoCash 06-09 10:19
    5
    得看你用的什么模型,某些 AI 就不用说了。
  • Meteora626 06-09 10:21
    6
    说清楚字段 计算逻辑,大模型生成 sql 的准确率还是很高的。
  • ration 06-09 10:26
    7
    接数据库 MCP ,如果主外键,字段名注释做的好,效果就不错
  • widowcat 楼主 06-09 10:28
    8
    @ration 大佬,这个在 datagrip 里面可以操作吗
  • thevita 06-09 10:29
    9
    看看多复杂呗,也许不用纠结一定要是传统报表的形式,不用在意一次成功,我最近试过扔一个 duckdb 和需求给 pi agent, 结果做成图表放飞书文档感觉挺好使的
  • widowcat 楼主 06-09 10:34
    10
    @thevita 是医院 his 业务,目前是乙方在搞,我们才接报表的,看他们原来写的报表 sql 都是几百行
  • twofox 06-09 10:36
    11
    完全可以。我看到有些项目是先拉一遍数据库表结构。把元数据和相互之间的关系维护好。就可以写报表了
  • tiezlk443 06-09 10:41
    12
    你对齐好字段其他都让 AI 去写
  • xiaomushen 06-09 10:42
    13
    @widowcat 这种都是小事情
  • Light3 06-09 10:43
    14
    不知道什么数据库 想让 ai 写 sql 第一步接数据库 mcp 不过这个不推荐..
    如果只是单数据库 你可以把结构存一遍在本地 然后叫他去拉那个文件 再写
  • csfreshman 06-09 10:45
    15
    你描述清楚,代码交给 claude,写的又快又好,挑不出毛病
  • x86 06-09 10:48
    16
    能不能写,取决你描述的是否到位了
  • kuhung 06-09 10:48
    17
    小规模完全可以,大企业内部的多表多血缘那种难。几百行小 case ,有些 sql 上万那种比较难办。
  • Morriaty 06-09 10:55
    18
    核心不是写 SQL ,其实是业务梳理\数据治理,比如:
    - 活动未完成率是“没达到次数未完成”,还是“时间超时未完成”
    - 系统里一部分用户是老的邮箱系统注册的,而新用户全部统一用手机号注册,AI 怎么知道这个信息?

    正好 A➗最近出了篇文章: https://claude.com/blog/how-anthropic-enables-self-service-data-analytics-with-claude
  • fruitmonster 06-09 11:12
    19
    肯定可以啊,前提是你得知道他写出来的是正确的还是错误的

    不能盲目的相信它
  • BeFun 06-09 11:32
    20
    我们是自己写了个报表引擎,类似帆软那种
  • wangritian 06-09 11:34
    21
    用 claude ,表述清楚,控制好单次任务量,可以非常精准的完成
  • remarrexxar 06-09 11:36
    22
    报表看板一次性脚本是最适合完全托管给 AI 处理的,最后看一下结果让 AI 迭代就行了,只需要自己有基本的鉴别能力,不用太关心实现细节了。
  • bbao 06-09 11:37
    23
    可以,定义好就行,我前同事在快手,他们就 AI 处理数据。写 sql 报表 ,有时候 AI 出结果他们都不人工审核
  • widowcat 楼主 06-09 12:13
    24
    @wangritian 目前我也在用 claude 写,主要想让他读数据库然后自己来完成
  • nishui 06-09 12:39
    25
    你可以考虑自己做个连数据库的服务,给 AI 提供扩展能力。

    我是自己做了一个 python+fastapi 连数据库 mysql 的服务,再做个 SKILL 让 AI 调用请求访问就行(不喜欢 MCP )。

    提供基本的 schemas tables query count explain 接口服务,AI 就会自己查看存储过程等数据库相关内容。

    剩下的基本上就是准确描述你的需求,以及相关表之间的联系,然后跟 AI 一块讨论分析问题
    (因为很多时候表、数据有各种各样的遗留问题、不规范、人为问题导致的,所以必须跟进分析)。

    https://github.com/nishuiq/mysql-readonly-api
    看情况你也可以自己改造适配对应的数据库😋
  • kang77649119 06-09 13:17
    26
    很勇啊,小心删库
  • rednoob 06-09 13:27
    27
    肯定能, 写的又好又快, 重点是用好 skill
  • collery 06-09 13:36
    28
    @kang77649119 肯定给读权限啊。。
  • songone 06-09 13:57
    29
    可以,我一个前端最近都写了很多 SQL 。只用查询权限的账号执行。
  • scguanzhong 06-09 13:58
    30
    好用的很哦 数据字典给她。说需求就行咯。比我自己快 也准确的多
  • songone 06-09 14:00
    31
    用的 Kiro ,要把 sql 规范落地,因为我有些报表维度要它设计,用 spec 模式,写了一整套查询,大致十个大的维度,两三千行 sql ,花费 500 积点,大致相当于 20 刀。
  • owen800q 06-09 14:02
    32
    你们公司允许把数据传给第三方服务?
  • HMYang33 06-09 14:11
    33
    2023 年 10 月我和一个武汉的公司就签个人外包单做了这样的项目。不过我只是做做前端的数据放到图表里展示。不知道后端怎么设计的
  • vacuitym 06-09 14:19
    34
    我已经专门写了一个 md 描述表结构,然后每次有报表需求都直接转发给 cc 让他帮我处理了
  • t3zb2xzvjm4yvmn 06-09 14:40
    35
    最近用了 Altimate code ,专门写数据仓库的 ETL ,感觉很不错,可以试试
  • widowcat 楼主 06-09 14:42
    36
    @songone 你用的什么工具,历史的 sql 也在里面吗
  • wakeqzero 06-09 16:08
    37
    @widowcat 勉勉强强,主要是医院的数据库太复杂了,有些定义又很模糊,写点简单的还行,复杂的需求还是得自己慢慢调整。我用得最多的就是根据自己的经验跟 AI 说涉及到哪些表,让 AI 写个大的框架,剩下的自己慢慢调。或者是一些历史 SQL 然 AI 优化一下
  • VersionGod1 06-09 16:16
    38
    我给了 codex 测试环境数据库的只读权限,他可以通过我的项目代码直接读取数据库了解结构和数据,我感觉各种维度的报表挺复杂的,目前看他都能理解并执行
  • illbehere 06-09 16:28
    39
    对 ai 来说写 sql 可太简单了
  • langhuishan 06-09 16:57
    40
    大概有 30 个表,把表结构,需要查询的字段发给 AI ,问答两三个来回,基本就满足要求了。还能 mssql ,mysql 来回切换
  • popvlovs 06-09 17:04
    41
    效果好不好,取决于数据治理做的好不好,要是一堆人类都看不懂的表名和字段名,那你可有的受了
  • kevan 06-09 17:15
    42
    学习一下.AI 数据分析
  • azkaban 06-09 17:23
    43
    别说报表了,元数据知识库给足,直接自然语言开问就行,我们给运营的 sql 平台现在就成这样了
  • Smileh 06-09 17:23
    44
    可以实现, 前提是业务梳理清楚
  • honjow 06-09 17:55
    45
    能的,而且很强
* 帖子来源V2EX
返回