Перед выполнением основного запросы нужно обязательно вначале установить все комментарии как одобренные с помощью запроса
UPDATE in_comments u1 SET u1.comment_approved = 1 WHERE 1
И после этого сразу же выполнять основной запрос.
SET @row_number1 = 0;
SET @row_number11 = 0;
SET @max_number11 = 5;
SET @min_number11 = 3;
UPDATE in_comments u1
SET
u1.comment_approved = 0
WHERE u1.comment_ID in
(
select aaa1.comment_ID from
(
SELECT (@row_number1:=@row_number1 + 1) AS num1,
a1.*
FROM in_comments a1
order by a1.comment_post_ID, a1.comment_date desc, a1.comment_ID asc) aaa1,
(
select aa1.* from
(SELECT (@row_number11:=@row_number11 + 1) AS num2,
a1.*
FROM in_comments a1
order by a1.comment_post_ID, a1.comment_date desc, a1.comment_ID asc) aa1,
(SELECT a2.*
FROM in_comments a2
where a2.comment_date = (select max(ta2.comment_date) as max_date from in_comments ta2 where ta2.comment_post_ID = a2.comment_post_ID)
order by a2.comment_post_ID, a2.comment_date desc, a2.comment_ID asc) aa2
where aa1.comment_ID = aa2.comment_ID
and aa1.comment_post_ID = aa2.comment_post_ID
) aaa2
where aaa1.num1 >= aaa2.num2 + FLOOR(RAND() * (@max_number11 - @min_number11 + 1)) + @min_number11
and aaa1.comment_post_ID = aaa2.comment_post_ID
)