• 请不要在回答技术问题时复制粘贴 AI 生成的内容
widowcat
V2EX  ›  程序员

现在 ai 能写报表 sql 吗

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

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

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

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

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

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

    https://github.com/nishuiq/mysql-readonly-api
    看情况你也可以自己改造适配对应的数据库😋
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   4034 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 100ms · UTC 05:11 · PVG 13:11 · LAX 22:11 · JFK 01:11
    ♥ Do have faith in what you're doing.