I think you can use the join with the able table and update the column as below:
UPDATE mcq,
(SELECT
stat.mcq_id,
ROUND( stat.total_score / stat.num_taken, 2 ) AS avg_score
FROM (SELECT
user_mcq.mcq_id,
SUM(score ) AS total_score,
COUNT( user_mcq.id ) AS num_taken
FROM user_mcq
INNER JOIN user ON ( user.id = user_mcq.user_id )
WHERE user.level_id =3
AND user_mcq.is_complete =1
GROUP BY user_mcq.mcq_id
) AS stat
) AS stats
SET mcq.avg_score = stats.avg_score
WHERE mcq.mcq_id = stats.mcq_id;