BigKay 2021-08-19 16:11 采纳率: 58.8%
浏览 56

MySQL,Update带max或group by条件

TB1 字段 lastdate
TB2 字段 enddate
TB1.id=TB2.mid
由于TB2中有多个t2.mid=t.id的记录,所以要取最新的T2.enddt数据,update到TB1.lastdate,用max(t2.enddt)和group by(mid) 都有报错;求指点,感谢;

UPDATE TB1 t
INNER JOIN TB2 t2 ON t2.mid = t.id
SET t.lastdate = t2.enddate
WHERE
t.week is not null

另外还有个TB2.week,数值越大的代表数据越新,是否可以考虑加入条件?
  • 写回答

1条回答 默认 最新

  • syyyyyyyyyyyyyyh 2021-08-19 17:29
    关注

    先求最新的id出来,
    再update
    子表,求id,条件是having max(date) = date
    外层 where id in(子表)

    评论

报告相同问题?

问题事件

  • 创建了问题 8月19日