最大连续回答问题天数大于等于3天的用户

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

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

# 3.22 9:28~ 9:44  16min

# 字段:author_id,author_level,days_cnt
# 核心:连续问题的核心是  排序编号 和 日期 之差为定值则实为连续状态

# tb1:标记连续编号
with tb1 as(
    select answer_date,author_id,author_level,
    dense_rank()over(partition by author_id order by answer_date) as rk
    from answer_tb left join author_tb using(author_id)
),

# tb2:编号与日期做差 (需要去重,distinct)
tb2 as(
    select distinct answer_date,author_id,author_level, rk,
    date_sub(answer_date,interval rk day) as label
    from tb1
),

# tb3:计算每个用户的 连续天数
tb3 as(
    select author_id,author_level,count(label) as days_cnt
    from tb2
    group by author_id,author_level
    having count(label) >= 3
    order by author_id
)

#tb4:求取其中最大的连续天数
select author_id,author_level, max(days_cnt) as days_cnt
from tb3
group by author_id,author_level
order by author_id




全部评论

相关推荐

07-14 13:47
门头沟学院 Java
Lynn012:你评估好自己的位置了吗《顶尖应届》
投递小米集团等公司10个岗位
点赞 评论 收藏
分享
07-07 12:25
门头沟学院 Java
程序员牛肉:你这个智邮公司做的就是那个乐山市税务系统的服务吗?
点赞 评论 收藏
分享
06-15 02:05
已编辑
南昌航空大学 数据分析师
Eason三木:你如果想干技术岗,那几个发公众号合唱比赛的经历就去掉,优秀团员去掉,求职没用。然后CET4这种不是奖项,是技能,放到下面的专业技能里或者单独列一个英语能力。 另外好好改改你的排版,首行缩进完全没有必要,行间距好好调调,别让字和标题背景黏在一起,你下面说能做高质量PPT你得展现出来啊,你这简历排版我用PPT做的都能比你做的好。 然后自我评价,你如果要干数据工程师,抗压能力强最起码得有吧。
简历中的项目经历要怎么写
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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