此题共包含两张表:

表1:answer_tb

表2:author_tb

要解决的问题:

请你统计最大连续回答问题的天数大于等于3天的用户及其等级,若有多条符合条件的数据,以author_id升序排序

解题思路:

  1. 统计每个用户连续回答问题的天数
  2. 取最大连续天数大于等于3的
  3. 获取这些用户的等级
  4. 若有多条符合,取author_id升序排序
SELECT author_id, author_level, days_cnt
from(
    SELECT author_id, max(rank1) days_cnt
    from(
        select author_id, answer_date,
        DENSE_RANK() over (partition by author_id ORDER BY answer_date) rank1
        from answer_tb
        ) t1
    GROUP BY author_id
    HAVING max(rank1) >=3
    ) t2
join author_tb using(author_id)
ORDER BY author_id