题解 | #某乎问答最大连续回答问题天数大于等于3天的用户及其对应等级#
某乎问答最大连续回答问题天数大于等于3天的用户及其对应等级
http://www.nowcoder.com/practice/e080f8a685bc4af3b47749ca3310f1fd
这个题把我难到了,太菜了 可以学习到的地方 1、DENSE_RANK() over ( PARTITION BY author_id ORDER BY answer_date 有可能一人答了几次题,在一天,但是当天排序应该排同一个序。 DENSE_RANK()。如果使用 DENSE_RANK() 进行排名会得到:1,1,2,3,4。
RANK()。如果使用 RANK() 进行排名会得到:1,1,3,4,5。
ROW_NUMBER()。如果使用 ROW_NUMBER() 进行排名会得到:1,2,3,4,5。
2、将answer_date去重 3、按照算出dt,判断是否是连续登录,如果author_id和dt分组,分出连续登录的日期,count(answer_date)就可以得出有多少个连续登录的日期,连续登录,dt肯定是相同的。 (answer_date-ranking) 4、分组后,having出count(answer_date)>=3的。还要记住链表输出年级。