题解 | #某乎问答最大连续回答问题天数大于等于3天的用户及其对应等级#

某乎问答最大连续回答问题天数大于等于3天的用户及其对应等级

http://www.nowcoder.com/practice/e080f8a685bc4af3b47749ca3310f1fd

此题共包含两张表:

表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

全部评论
INSERT INTO answer_tb VALUES('2021-11-9' , 101, 'E003', 56); 不连续也会统计 例题再加这行就不对了,网站例子还是考虑不全面
点赞 回复 分享
发布于 2022-11-21 20:22 广东

相关推荐

评论
1
收藏
分享

创作者周榜

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