题解 |

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

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

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

### 统计最大连续作答问题天数的用户,需要将时间按先后顺序使用排序函数dense_rank()函数计数,相同的日期纪录相同的序号,隔天的日期顺延+1 ,然后使用date_sub(date,interval dn day) 将当前日期时间向前推进对应的dn天,按照这个表达式分组,得到了
相同的 日期表示 连续的日期。然后统计出每个人所对应的连续作答天数的一个基本情况。然后统计最大值。

   select author_id,
          author_level,
          max(continDays) days_cnt 
     from (
   select author_id,
          author_level,
          date_sub(answer_date,interval dn day) dateTime , # date_sub(date,interval n day) 和date_add(date,interval -n day) 都是把当前date日期向前推送n天。
          count(answer_date) continDays 
          #date_sub(answer_date,interval -dn day) dt #若dt相等表示时间连续 
     from (
   select distinct ant.author_id ,
          aut.author_level,
          ant.answer_date ,
          dense_rank() over(partition by ant.author_id,aut.author_level order by ant.answer_date) dn 
     from answer_tb ant join author_tb aut using(author_id) 
      ) A 
     group by author_id,author_level,date_sub(answer_date,interval dn day)   
     ) B 
     group by author_id,author_level
     having days_cnt >= 3 
     order by author_id ; 

全部评论

相关推荐

09-19 12:15
门头沟学院 Java
迷茫的大四🐶:这下是真的打牌了,我可以用感谢信和佬一起打牌吗
点赞 评论 收藏
分享
10-10 01:10
已编辑
深圳大学 测试开发
面了100年面试不知...:六月到九月,四个项目一个实习,是魔丸吗
投了多少份简历才上岸
点赞 评论 收藏
分享
10-29 22:30
吉林大学 Java
同专业学长学姐,去互联网大厂的起薪 15k+,去国企 IT 岗的也有 12k+,就连去中小厂的都基本 13k 起步😤 我投的传统行业技术岗,拼死拼活拿到 1Woffer,本来还挺开心,结果逛了圈牛客直接破防,同是校招生,行业差距怎么就这么大啊!
喵喵喵6_6:应该哪里不对吧,大厂都是20k以上的,10k那种对于985本的学生基本就是点击一下过了笔试就送的,我前两天刚拿了一个11k,笔试完第2天就打电话了,非科班。坏消息是c++岗开这么低真是刷新认知了
校招生月薪1W算什么水平
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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