select
au.author_id,
au.author_level,
M.num
from
(
select
a1.author_id,
count(1) num
from
(
select
a.answer_date,
a.author_id,
dense_rank() over(
PARTITION BY a.author_id
order by
a.answer_date
) as t
from
answer_tb a
group by
author_id,
answer_date
) a1
group by
date_sub(a1.answer_date, INTERVAL t day), #我就卡在了此处分组。。。日期减日期数量相等即可
a1.author_id
having
count(1) >= 3
) M
inner join author_tb au on au.author_id = M.author_id
order by
au.author_id