UPDATE user_info_list u
INNER JOIN
(
SELECT tt.co,a.read_grade,a.all_grade,a.run_grade,a.user_name,a.open_id from user_info_list a
left join
(SELECT b.open_id,COUNT(grade) as co from read_info_list b GROUP BY b.open_id) tt
on a.open_id = tt.open_id where a.read_grade='629' and tt.co='631'
) xx
ON u.open_id= xx.open_id
set u.read_grade='631',u.all_grade=(631+u.run_grade)