我正在尝试使用Max执行更新查询。 我的表中有4列 - ID,Increase,FinalVal,Flag
我的表结构是:
Id Increase FinalVal Flag
1 0.1 30 null
1 0.2 15 null
2 0.1 15 null
2 0.2 45 null
运行查询后,结果应为:
Id Increase FinalVal Flag
1 0.1 30 1
1 0.2 15 0
2 0.1 15 0
2 0.2 45 1
对于按ID分组的max(finalval),标记应更新为1
我真的很感激任何帮助!感谢
答案 0 :(得分:0)
在大多数数据库中,您可以这样做:
update t
set flag = (case when finalval = (select max(t2.finalval) from t t2 where t2.id = t.id)
then 1 else 0
end);