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

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

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

with b as(select author_id, answer_date, row_number() over(partition by author_id ORDER BY answer_date) rnb
FROM (select distinct author_id, answer_date
from answer_tb) a)#去重排序

select c.author_id, d.author_level, count(c.dt2) days_cnt FROM(SELECT *, date_sub(b.answer_date, interval b.rnb day) dt2 FROM b) c 
#时间与序号做差,差一样的则是连续的,一样的数字有x个,则连续天数为x天,所以计数
left join author_tb d on c.author_id=d.author_id
GROUP BY c.author_id, d.author_level
having count(c.dt2)>=3
order by author_id

去重,排序,做差,计数

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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