ChatGPT写sql--分组排序并更新mysql

有一张明细表,表里有几万条数据,新增一个字段sort,sort的值希望是按照明细表的外键id:detId,相同外键id的记录  sort字段从1开始排序,累加1。其实用java倒好写,不过我挺好奇用sql语句实现是什么样,我自己当然写不出来,不过可以用gpt,连哄带蒙问了好久,终于给我的代码能达到我想的效果了,下面是代码:

SET @row_number = 0, @current_detID = NULL;
UPDATE yl_customprescriptiondetails AS t1
    JOIN (
        SELECT
            id,
            detID,
            (@row_number := CASE
                                WHEN @current_detID = detID THEN @row_number + 1
                                ELSE 1
                END) AS cfmx_sort,
            (@current_detID := detID) AS dummy
        FROM yl_customprescriptiondetails
        ORDER BY detID
    ) AS t2
    ON t1.id = t2.id
SET t1.cfmx_sort = t2.cfmx_sort;

和gpt提问

问了半天,给的都有问题,不是运行报错,就是结果不对,直到我发了这句:

这东西还得哄着他来,要不然跟他说有错,然后说对不起又把错的给我一遍(ーー;),这次给的代码只有一点问题了,把报错信息告诉他,下一次给的就是正确的了,我本来都心思这次要是还不对,我就用java写了。

这次就是对的了

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MySQL SQL生成器是一种数据库编程软件,它可以帮助用户快速生成SQL语句。SQL语句自动生成器正式版是一款功能强大、实用方便的数据库编程软件,支持桌面数据库和大中型数据库,以及排序、条件、分组、函数等多种SQL语法。\[1\]要使用MySQL SQL生成器,首先需要确认安装成功。可以通过执行build操作来确认安装成功,具体步骤如下:切换到mysql_markdown目录下,执行以下命令:cd mysql_markdown go get "github.com/go-sql-driver/mysql" go build mysql_markdown.go\[2\]执行完build操作后,会在mysql_markdown目录下生成一个mysql_markdown.exe文件,即将go编译成了一个可执行文件。接下来,可以通过执行以下命令来使用MySQL SQL生成器:mysql_markdown -h yourhost -u yourusername -p yourpwd -d yourdatabase -P yourport\[3\]其中,yourhost是主机名,yourusername是用户名,yourpwd是密码,yourdatabase是数据库名,yourport是端口号。通过这些步骤,你就可以使用MySQL SQL生成器来生成SQL语句了。 #### 引用[.reference_title] - *1* [SQL语句生成器](https://blog.csdn.net/weixin_34858011/article/details/116127436)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [mysql表结构生成工具——mysql_markdown](https://blog.csdn.net/tangsiqi130/article/details/127738801)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值