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
))