更新另一个具有最大另一个字段的字段组 - mysql

时间:2014-03-03 20:44:13

标签: mysql

ID     GRP     VAL    CHK
---   -----   -----   ----
1       1       1      0
2       1       3      0
3       2       7      0
4       2       2      0
5       2       1      0
6       3       5      0

我想将我的CHK字段设置为'1',每个GRP组的最大值为VAL, 所以应该设置ID 2,3,6。 我不在这里写我的试验,似乎都是垃圾:)。

1 个答案:

答案 0 :(得分:1)

在MySQL中,您可以使用update / join语法执行此操作:

update table t join
       (select grp, max(val) as maxval
        from table t
        group by grp
       ) tmax
       on t.grp = tmax.grp and t.val = tmax.maxval
    set t.chk = 1;