请教个问题,关于批量更新某个列

公共马甲0315 2020-04-07 11:29:53
我有个旧数据表,希望在里面增加一列,max,
旧表的格式大致为
idx | value1|value2|value3

然后我现在希望增加一列变成
idx |value1|value2|value3|maxvalue

因为旧表当中已经存了很多数据了,不想作废,所以希望能用查询语句,自动批量地将列maxvalue填入同一行当中value1,value2,value3当中的最大值。

请教大侠,这个能实现吗?可否指点下查询语句?
...全文
169 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
lhdz_bj 2020-04-10
  • 打赏
  • 举报
回复
alter table tab_old add maxvalue int;
update tab_old set maxvalue=max(value1,value2,value3,...);
如果列很多,也得都写上,或者写存储过程处理,但如果数据量大的话,时间会比较长而已。
AHUA1001 2020-04-10
  • 打赏
  • 举报
回复
这个简单
UPDATE TABLE_NAME SET maxvalue = greatest(value1,value2,value3) ;
洛神葵999 2020-04-09
  • 打赏
  • 举报
回复
使用case when 找最大值?
公共马甲0315 2020-04-07
  • 打赏
  • 举报
回复
或者说,我新建一个新表的结构,然后把旧表内容填进去,再把最大值填到max那一列?批量查询的语句?有没有呢

56,679

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧