sql之关联更新update(回答学生问题)

今天学生问我这么个需求,有点意思,特此记录,以下是聊天记录:

遇到一个数据库修改的问题 想把第一个表修改为第二个表那样
就是把name相同的记录的bid改为bid最小值

是全部记录同时修改
就是name=a1和name=a2的同时修改
这个SQL是什么逻辑啊

你看明白了吗?????
下面是答案,在mysql中执行通过:

update test a,(select min(bid) as nbid,name from test group by name) b

set a.bid=b.nbid

where a.name=b.name

批量更新时记得备份


原文出处:/show_1EF1U9SYQeBs.html