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

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

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

WITH a AS(
    SELECT 
       author_tb.author_id,
       author_tb.author_level,
       answer_tb.answer_date
    FROM author_tb
    JOIN answer_tb USING(author_id)
),
b AS(
    SELECT
        author_id,
        author_level,
        answer_date,
        DENSE_RANK() OVER(PARTITION BY author_id ORDER BY answer_date) rk
    FROM a
),
c AS(
    SELECT
        author_id,
        author_level,
        answer_date,
        DATE_SUB(answer_date,INTERVAL rk DAY) date_tmp,
        DENSE_RANK() OVER(PARTITION BY author_id,DATE_SUB(answer_date,INTERVAL rk DAY) ORDER BY answer_date) coin_days
    FROM b
)
SELECT
    author_id, author_level, MAX(coin_days) days_cnt
FROM c
GROUP BY author_id,author_level
HAVING MAX(coin_days) >= 3
ORDER BY author_id

全部评论

相关推荐

03-23 22:04
江南大学 Java
程序员小白条:28届原因,这才研一,而且项目比较经典,东西也写的很简单,自我评价没啥用,应该写的是技术栈
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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