UPDATE user_course_answer SET `status` = - 1 WHERE FIND_IN_SET( answer_id,( SELECT ischild FROM ( SELECT t1.answer_id, t1.assign_answer_id, t1.create_time, t2.*, IF ( find_in_set( assign_answer_id, @pids ) > 0, @pids := concat( @pids, ',', answer_id ), 0 ) AS ischild FROM ( SELECT answer_id, assign_answer_id, create_time FROM user_course_answer t WHERE t.assign_answer_id > 0 and tenant_id = #{tenantId} ORDER BY t.create_time ) t1, ( SELECT @pids := #{answerId} ) t2 ) t4 WHERE t4.ischild > 0 ORDER BY create_time DESC LIMIT 1 )) UPDATE user_course_answer set `status` = - 1 WHERE FIND_IN_SET( answer_id,( SELECT ischild FROM ( SELECT t1.answer_id, t1.assign_answer_id, t1.create_time, t2.*, IF ( find_in_set( assign_answer_id, @pids ) > 0, @pids := concat( @pids, ',', answer_id ), 0 ) AS ischild FROM ( SELECT answer_id, assign_answer_id, create_time FROM user_course_answer t WHERE t.assign_answer_id > 0 ORDER BY t.create_time ) t1, ( SELECT @pids := #{answerId} ) t2 ) t4 WHERE t4.ischild > 0 ORDER BY create_time DESC LIMIT 1 ))