select  author_id, author_level, max(rnk) from( select  author_id, author_level, rnk, date_sub(dt,interval rnk day) as start_day from( select  author_id, author_level, dt, row_number() over(partition by author_id order by dt) as rnk from( select distinct  author_id, author_level, answer_date dt from(     author_tb join answer_tb using(author_id) )) a ) b ) c group by author_id,author_level,start_day having max(rnk) >= 3 order by author_idx 先按照套路计算出连续的开始时间以及持续最大天数,以开始时间为分组后,找到最大天数大于等于3即可 
点赞

相关推荐

牛客网
牛客网在线编程
牛客网题解
牛客企业服务