name num
张三 10
张三 20
张三 20
李四 11
李四 15
李四 19
怎么可以按name分组,然后将每组内的num值全部更新为最大值 ?
name num
张三 10
张三 20
张三 20
李四 11
李四 15
李四 19
怎么可以按name分组,然后将每组内的num值全部更新为最大值 ?
UPDATE tablename T1
SET T1.NUM=
(SELECT T2.AM
FROM (SELECT MAX(T1.NUM) AS AM, T1.NAME FROM T1 T1 GROUP BY T1.NAME ) T2
WHERE T2.NAME = T1.NAME)
记得备份数据!!假设表名为TABLENAME,语句更新为如代码所示。