weixin_42204630 2021-04-09 08:41 采纳率: 25%
浏览 58
已结题

mysql存储过程数据问题处理,游标

MySQL现在遇到这个问题需要写存储过程进行处理,问题场景如下:

对同一张表数据循环更新,如表test,中存在,a,b,c,d,e,f,g,其中a为主键,现阶段a与b数据一致,如果数据量在500,其中c列存在一部分相同数据(如500条去重后可能只有100多条数据),现需要将c字段中相同的字段的b列更新为d列长度最短的那条(d列数据是c+其他字符)记录的a列id主键,如图,红框内容更新为黄框中,用游标写但是逻辑上没搞清楚,在线等

 

  • 写回答

3条回答 默认 最新

  • weixin_42204630 2021-04-12 08:46
    关注

    已经用脚本写出来了,其实不用游标也可以,写的脚本如下

    UPDATE elevator_enterprise_sy_analyse t1 JOIN (SELECT t1.id,t2.ent_extend2 FROM
    (
    SELECT ent_extend2,MIN(ent_extend3) ent_extend3 FROM elevator_enterprise_sy_analyse WHERE ent_extend1=1 GROUP BY ent_extend2
    ) t2
    LEFT JOIN elevator_enterprise_sy_analyse t1 ON t1.ent_extend2=t2.ent_extend2 AND t1.ent_extend3=t2.ent_extend3) 
    t2 ON t1.ent_extend2 = t2.ent_extend2
    SET t1.fk_root_id = t2.id,t1.fk_ent_pid=t2.id WHERE t1.ent_extend1=1 AND t1.fk_root_id=t1.id  ;
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 8月3日
  • 已采纳回答 7月26日

悬赏问题

  • ¥20 设计一个二极管稳压值检测电路
  • ¥15 内网办公电脑进行向日葵
  • ¥15 如何输入双曲线的参数a然后画出双曲线?我输入处理函数加上后就没有用了,不知道怎么回事去掉后双曲线可以画出来
  • ¥50 WPF Lidgren.Network.Core2连接问题
  • ¥15 soildworks装配体的尺寸问题
  • ¥100 有偿寻云闪付SDK转URL技术
  • ¥30 基于信创PC发布的QT应用如何跨用户启动后输入中文
  • ¥20 非root手机,如何精准控制手机流量消耗的大小,如20M
  • ¥15 远程安装一下vasp
  • ¥15 自己做的代码上传图片时,报错