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

现在 ai 能写报表 sql 吗

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

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

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

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

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

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

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

    我先指挥 claude 搞个示例,然他抄示例。
    如果不是完全了解系统的,估计指挥都指挥不了。
    widowcat
        49
    widowcat  
    OP
       4 days ago
    @lyxxxh2 感觉你可以先给他发点之前到 sql 让他学习下,然后喊他写类似的业务
    songone
        50
    songone  
       3 days ago
    @widowcat 用的 Kiro 啊。 先让 AI 给一个好的目录结构,封装好相关 skill ,然后就可以开干了,历史 sql 我现在没管。
    chilaoqi
        51
    chilaoqi  
       3 days ago
    sqlbot ?
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2685 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 147ms · UTC 05:09 · PVG 13:09 · LAX 22:09 · JFK 01:09
    ♥ Do have faith in what you're doing.