with temp as
(
select author_id,date_sub(answer_date,interval rk day) as time,count(*) as days_cnt from
(
select distinct author_id,answer_date,dense_rank() over(partition by author_id order by answer_date) as rk from answer_tb
)t
group by author_id,time
)
select tp.author_id,author_level,days_cnt from temp tp join author_tb a using(author_id) where days_cnt >= 3;

京公网安备 11010502036488号