如何在 mysql 中使用 left join 更新多个结果中的最大值?
问题:
已知以下 two tables:
-
student 表:
| id | name | |---|---| | 1 | 小明 | | 2 | 小红 |
-
score 表:
| id | student_id | score | |---|---|---| | 1 | 1 | 80 | | 2 | 2 | 88 | | 3 | 1 | 78 | | 4 | 2 | 98 |
如何使用 mysql 更新 student 表中每个学生的 score 字段为 score 表中对应学生成绩的最高分?
答案:
update student set score=(select max(score) from score where score.student_id=student.id)